当前位置: 首页 > 知识库问答 >
问题:

Google Directions API Transit返回0_结果,手动搜索Google Maps返回结果

田成化
2023-03-14

我在Google Directions API中搜索了文档,也在网上搜索了一下,没有找到我的难题的答案。我的机构开发了一个API,可以使用transit查找出发地和目的地之间最新的可能出发点,有几个返回“无结果”错误。然而,当我手动搜索谷歌地图时,我能够返回结果。

我的Google Directions API程序发出以下查询:

https://maps.googleapis.com/maps/api/directions/json?units=imperial

返回:

    {
   "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"
}

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

https://www.google.com/maps/dir/650马萨诸塞州南哈德利学院街50号奇科佩纪念大道,马萨诸塞州/@42.2678007,-72.7164286,11z/数据=!3m1!4b1!4m18!4m17!1m5!1m1!10x89E6DDAE2C6A5床:0x9a5687ab7cd4b4f9!2m2!1d-72.5797548!2d42。1751992!1m5!1m1!10x89E6DBAC4B2AAC81:0xe9809aca8e8e0bdc!2m2!1d-72.5766752!2d42。2538136!2m3!6e1!7e2!8j1461200400!3e3

我仔细检查了任何明显的错误(比如使用“Rd”而不是“St”,或者输入一个不存在的地址),但没有发现任何错误。我还在节目中更改了出发/到达时间,运气不好。

错误消息似乎表明,作为中转的模式不是该始发地/目的地对之间的选项,但是手动界面没有问题。

有人知道谷歌地图为什么会拒绝API查询,而不是手动查询吗?或者有什么资源来帮助解决这个问题?谢谢

共有3个答案

路昆杰
2023-03-14

我认为这对这个错误是有帮助的。实际上主要的问题是让和长没有正确的格式和位置changed.so应用这个代码

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');
                                            }
相弘和
2023-03-14

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

须鸿祯
2023-03-14

“All caps”的响应(无意中,但)是错误的——Google Maps API服务器在这里没有进行正确的错误检查,如果你给它一个All capsmode参数,不管你写的是哪种模式,它都会返回驾驶方向。

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

测试查询,以证明地图方向响应不关心您指定的模式,如果您在全大写(请务必添加您的API密钥):

驾驶-https://maps.googleapis.com/maps/api/directions/json?departure_time=now

过境-https://maps.googleapis.com/maps/api/directions/json?departure_time=now

步行https://maps.googleapis.com/maps/api/directions/json?departure_time=now

 类似资料:
  • 我正在用Hibernate Search 4.5.1和Spring 4.0.5版本构建一个应用程序。我正在尝试索引以下类: 我正在构建一个junit测试用例,看起来如下所示: 我还注意到在luke lucene上,一些索引词的长度最多为6个字符,例如,一首歌的艺术家是“后代”,而索引中存储的词是“the”和“offspr”。第一个可以,但第二个不应该是“后代”。为什么要截断名字?

  • 我有三个索引,它们都共享一个特定的键值对。当我用api进行全面搜索时”http://localhost:9200/_search“使用请求正文 它只返回其中两个索引的结果。我尝试使用相同的请求正文,将url更改为仅在丢失的索引中搜索”http://localhost:9200/index_name/_search“这很管用。我有什么遗漏吗? 插入所有三个索引的代码遵循相同的过程,我使用elasti

  • 问题内容: 我正在尝试创建一种方法,从中可以查询数据库并检索整个表。 目前,如果我使用这些数据只是正常工作 中 的方法。但是,我希望该方法返回结果。 我正在了解当前代码。 我该如何实现? 问题答案: 您永远不要通过公共方法来回避。这很容易导致资源泄漏,因为您不得不保持语句和连接打开。关闭它们将隐式关闭结果集。但是,将它们保持打开状态将导致它们悬而未决,并且当它们打开过多时,将导致数据库用尽资源。

  • 当我使用MS Graph API并调用时,我会得到这个响应 {“@odata.context”:https://graph.microsoft.com/v1.0/$metadata#sites”,“value”:[]} 请求ID→cfb68a16-eb50-42ab-950c-fbfeec4Def5c 但是我可以使用有响应 {“@odata.context”:https://graph.micro

  • 我有一个问题,我想把弹性搜索的结果减少到1000个,不管有多少匹配的结果匹配,但这不应该影响排名和得分。 我在尝试,但这似乎只是告诉弹性搜索只获得前N个结果,而不考虑分数。如果我说错了,请纠正我。 有什么帮助吗? 编辑: 我已经在使用分页。因此,在From/Size中使用Size只会影响当前页面的大小。但我想将总结果的大小限制为1000,然后对其进行分页。

  • 请给我一些灯。下面是我的代码: