首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌方向API运输返回Zero_Results,手动搜索谷歌地图返回结果

谷歌方向API运输返回Zero_Results,手动搜索谷歌地图返回结果
EN

Stack Overflow用户
提问于 2016-04-15 22:09:11
回答 3查看 3.1K关注 0票数 10

我已经在Google Directions API中搜索了文档,也在网上四处寻找,都找不到我的难题的答案。我的机构已经开发了一个应用程序接口,可以使用运输工具查找始发地和目的地之间的最新可能出发时间,并且有几个返回"No_Result“错误。但是,当我手动搜索Google Maps时,我能够返回结果。

我的Google Directions 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

它返回:

代码语言:javascript
复制
    {
   "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"
}

但是,当我使用Google地图手动查询时,我能够通过传输返回结果。

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“而不是"St",或者输入一个不存在的地址),但没有发现任何错误。我还在程序中更改了出发/到达时间,但没有成功。

错误消息看起来像是表明作为传输的模式不是源/目的地对之间的选项-但是手动接口没有问题。

有人知道为什么Google Maps可能会拒绝API查询,而不是手动查询吗?或任何资源来帮助解决这个问题?谢谢!!

EN

回答 3

Stack Overflow用户

发布于 2017-10-30 02:55:36

“all caps”的响应是(无意的,但是)误导性的错误-- Google Maps API服务器在这里没有做正确的错误检查,如果你给它一个全大写的mode参数,无论你写哪种模式,它都会返回驾驶方向。

真正的答案是,API并不支持所有地方的所有模式,即使Google Maps应用程序支持。您可以提交功能请求,以尝试推动此奇偶校验。例如,日本的公共交通:https://issuetracker.google.com/issues/35826181

测试查询以演示Maps Directions响应并不关心您指定的模式(请确保添加您的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

票数 5
EN

Stack Overflow用户

发布于 2017-08-04 20:03:58

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

票数 4
EN

Stack Overflow用户

发布于 2019-09-11 20:36:23

我认为这对这个错误很有帮助,主要的问题是let和long的格式不正确,position changed.so应用了这段代码。尽情享受

代码语言:javascript
复制
var service = new google.maps.DistanceMatrixService();
                                        service.getDistanceMatrix({
                                            origins: [latOffice + "," + longOffice],
                                            destinations: [latitudeS + "," + longitudeS],
                                            travelMode: google.maps.TravelMode.DRIVING,
                                            unitSystem: google.maps.UnitSystem.METRIC,
                                            avoidHighways: true,
                                            avoidTolls: true
                                        }, function (response, status) {
                                            if (status == google.maps.DistanceMatrixStatus.OK && response.rows[0].elements[0].status != "ZERO_RESULTS") {
                                                var distance2 = response.rows[0].elements[0].distance.text;
                                                var duration2 = response.rows[0].elements[0].duration.text;
                                                duration = duration2;
                                            } else {
                                                //alert("Your Request For Distance Not Available");
                                                Swal.fire('Oops...', 'Your Request For Distance Not Available!', 'error');
                                            }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36649465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档