我已经使用谷歌的Place details API来获取地点的细节,其中包括一个地方的lat/lng坐标。
当我使用通用跨平台映射URL发布Google地图时,它不认识这个地方。
例如,
https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJbf8C1yFxdDkR3n12P4DkKt0&key=XXXXXXXX返回位置详细信息,包括以下位置数据:
{
.....
"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",
.....
}但是,当使用映射URL创建方向图作用时,这些数据并没有给出目标字段中的正确位置。
谷歌地图网址:id=ChIJbf8C1yFxdDkR3n12P4DkKt0
目的地没有显示为一个地方。以下只使用lat/lng或地址。

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

更新
问题似乎在于PlaceID与地图URL中的lat/lng坐标不匹配。似乎与Place提供的lat/lng不一致。
以下URL工作
但是27.1750151,78.0421552,15z不是Place details API的坐标。PlaceDetails原料药返回的lat/液化天然气是27.1750151,78.0421552。
,15z有一个不同之处,我认为它是变焦电平。
发布于 2018-04-04 22:05:50
当提供lat/lngs时,destination参数看起来完全超过了destination_place_id参数,从而导致了坐标上的反向地理代码。在下面的示例URL中,我使用ChIJj61dQgK6j4AR4GeTYWZsKWw的Place ID,该ID对应于CA山景城的Googleplex作为destination_place_id,以及Taj的lat/lng作为destination;注意Googleplex查询被忽略,并执行反向地理代码获取印度的地址:
id=ChIJj61dQgK6j4AR4GeTYWZsKWw

因此,解决办法是不使用lat/液化天然气作为destination参数。我用各种字符串(地名、地址、胡言乱语)作为参数进行了测试,destination_place_id似乎取代了它,这是所需的行为。当只使用.(句点)作为通用值时,将提供位置的名称和地址:
id=ChIJj61dQgK6j4AR4GeTYWZsKWw

id=ChIJbf8C1yFxdDkR3n12P4DkKt0

https://stackoverflow.com/questions/49597549
复制相似问题