2016-04-15 131 views
5

我已经在Google Directions API中搜索了文档,并且也在网上浏览过,并且找不到我的难题的答案。我的代理机构开发了一个API来查找使用过境的最初可能的出发地和目的地之间的偏离,并且有一些返回“No_Result”错误。不过,当我手动搜索Google地图时,我可以返回结果。谷歌路线应用程序API返回Zero_Results,手动搜索谷歌地图返回结果

我的谷歌地图API程序发出以下查询:

https://maps.googleapis.com/maps/api/directions/json?units=imperial&origin=650+Memorial+Dr+chicopee+MA&destination=50+College+St+South+Hadley+MA&arrival_time=1461301200&mode=transit

返回:

{ 
    "available_travel_modes" : [ "DRIVING", "BICYCLING", "WALKING" ], 
    "geocoded_waypoints" : [ 
     { 
     "geocoder_status" : "OK", 
     "place_id" : "ChIJ7VtqLK7d5okR-bTUfKuHVpo", 
     "types" : [ "street_address" ] 
     }, 
     { 
     "geocoder_status" : "OK", 
     "place_id" : "ChIJxwHLSqzb5okR1rrjYhcDvkc", 
     "types" : [ "premise" ] 
     } 
    ], 
    "routes" : [], 
    "status" : "ZERO_RESULTS" 
} 

然而,当我查询使用谷歌地图手动,我能够返回通过运输结果。

https://www.google.com/maps/dir/650+Memorial+Drive,+Chicopee,+MA/50+College+Street,+South+Hadley,+MA/@42.2678007,-72.7164286,11z/data=!3m1!4b1!4m18!4m17!1m5!1m1!1s0x89e6ddae2c6a5bed:0x9a5687ab7cd4b4f9!2m2!1d-72.5797548!2d42.1751992!1m5!1m1!1s0x89e6dbac4b2aac81:0xe9809aca8e8e0bdc!2m2!1d-72.5766752!2d42.2538136!2m3!6e1!7e2!8j1461200400!3e3

我有双重检查任何明显的失误(如使用“RD”,而不是“圣”,或者输入一个不存在的地址),但没有发现任何。我也改变了程序中的出发/到达时间,没有运气。

错误消息看起来像是指示MODE作为TRANSIT不是该起始/目标对之间的选项 - 但手动界面没有问题。

有谁知道为什么谷歌地图可能会拒绝API查询,但不是手动查询?或者任何资源来帮助解决这个问题?谢谢!!

+0

也许你通过API访问了“不支持”的区域(无论出于何种原因...)。与东京情况相同,请参阅此处:https://issuetracker.google.com/issues/35826181 –

回答

4

查询字符串中的模式(mode=transit)应该大写 - 请尝试mode=TRANSIT

+0

天才!应该接受这个答案 – nbransby

+0

它通过这样做返回DRIVING方向。我意识到,手动操作LatLng数据可能会导致无效的位置,不匹配任何旅行方向。为了证明这一点,只需将LatLng职位从Google地图中复制出来并粘贴到URL字符串中作为目的地,并将其作为来源粘贴到其他地址。结果是,这个“过境”很有效。 – Parkbrakereminder

1

“全部大写”响应(无意,但是)误导性错误 - Google Maps API服务器在此处未执行适当的错误检查,并且如果您给它一个全部大写的mode参数,它将返回行车路线否不管你写的是哪种模式。

真正的答案是,即使Google地图应用程序确实,API也不支持所有地方的所有模式。您可以提交功能请求以尝试推动这一平价。例如,公共交通在日本: https://issuetracker.google.com/issues/35826181

测试查询证明,地图导航回应不在乎如果你全大写(一定要加你的API密钥)做到这一点,你指定的模式:

驾驶 - https://maps.googleapis.com/maps/api/directions/json?departure_time=now&destination=place_id%3AChIJp4QhcgzyGGARZaBIPuJzfpg&mode=DRIVING&origin=place_id%3AChIJlyOpErWHGGAR0156e32g1Xs&key=API_KEY

交通 - https://maps.googleapis.com/maps/api/directions/json?departure_time=now&destination=place_id%3AChIJp4QhcgzyGGARZaBIPuJzfpg&mode=TRANSIT&origin=place_id%3AChIJlyOpErWHGGAR0156e32g1Xs&key=API_KEY

散步 - https://maps.googleapis.com/maps/api/directions/json?departure_time=now&destination=place_id%3AChIJp4QhcgzyGGARZaBIPuJzfpg&mode=WALKING&origin=place_id%3AChIJlyOpErWHGGAR0156e32g1Xs&key=API_KEY