Google Place详细信息Lat/Long坐标与跨平台地图网址不匹配

Seb*_*min 12 google-maps google-maps-api-3 google-places-api

我使用了Google Place详细信息API来获取包含地点的纬度/经度坐标的地方详细信息.

当我使用通用跨平台地图网址启动Google地图时,它无法识别地点.

例如,

https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJbf8C1yFxdDkR3n12P4DkKt0&key=XXXXXXXX
Run Code Online (Sandbox Code Playgroud)

返回地点详细信息,包括以下位置数据:

 {
  .....
  "geometry": {
    "location": {
      "lat": 27.1750151,
      "lng": 78.0421552
    },
    "viewport": {
      "northeast": {
        "lat": 27.1770292,
        "lng": 78.04537599999999
      },
      "southwest": {
        "lat": 27.16897280000001,
        "lng": 78.0388188
      }
    }
  },
  .....
  "name": "Taj Mahal",
  "place_id": "ChIJbf8C1yFxdDkR3n12P4DkKt0",

  .....
}
Run Code Online (Sandbox Code Playgroud)

但是,当用于创建带有方向图操作地图URL时,此数据不会在目标字段中提供正确的位置.

Google地图网址:https://www.google.com/maps/dir/?api = 1&destination = 27.1750151,78.0421552&destination_place_id=ChIJbf8C1yFxdDkR3n12P4DkKt0

目的地不显示为地点.仅使用lat/lng或地址,如下所示.

带有路线操作的Google地图网址

正确/预期的结果如下.看看目的地.

打开地图网址的预期结果

更新

问题似乎是PlaceID与地图网址中的lat/lng坐标不匹配.Place Details API提供的lat/lng似乎不一致.

URL下方有效

https://www.google.com/maps/dir/?api=1&destination=27.1750151,78.0421552,15z&destination_place_id=ChIJbf8C1yFxdDkR3n12P4DkKt0

27.1750151,78.0421552,15z不是Place details API的坐标.PlaceDetails API返回的lat/lng是27.1750151,78.0421552.

,15z我认为这是缩放级别的差异.

Pre*_*ton 3

当提供纬度/经度时,该destination参数看起来完全胜过该参数,从而导致坐标上的反向地理编码。destination_place_id在以下示例 URL 中,我使用ChIJj61dQgK6j4AR4GeTYWZsKWw与加利福尼亚州山景城 Googleplex 相对应的地点 ID 作为 ;destination_place_id以及泰姬陵的纬度/经度作为destination;请注意,Googleplex 查询被忽略,并且执行反向地理编码,仅获取印度的地址:

https://www.google.com/maps/dir/?api=1&destination=27.1750151,78.0421552&destination_place_id=ChIJj61dQgK6j4AR4GeTYWZsKWw

在此输入图像描述

因此,解决方法是不使用纬度/经度作为destination参数。我已经用各种字符串(地名、地址、乱码)作为该参数进行了测试,并且destination_place_id似乎取代了它,这是所需的行为。当仅使用.(句点)作为通用值时,将提供地点名称和地址:

https://www.google.com/maps/dir/?api=1&destination=.&destination_place_id=ChIJj61dQgK6j4AR4GeTYWZsKWw

在此输入图像描述

https://www.google.com/maps/dir/?api=1&destination=.&destination_place_id=ChIJbf8C1yFxdDkR3n12P4DkKt0

在此输入图像描述