如何使用地点 ID 直接 link 到 google 地图上的地点

How do I get a direct link to a place on google maps with the Place Id

我的应用程序中有 google 地图上某个地点的地点 ID。有没有办法把地点Id放在一个URL里直接link到页面?还是必须通过 URL?

我似乎无法在文档中找到任何详细说明。我在下面尝试过,但它只是让我看到标准的 google 地图页面:

https://maps.google.com/maps?placeid=ChIJN1t_tDeuEmsRUsoyG83frY4

不直接,使用placeID可以得到各种JSON或XML格式的信息,其中还有地点的经纬度和地址,可以轻松定位地图 google developer doc

此时生成一个通用的link直接去正确的google地方的正确格式是:https://maps.google.com/?cid=[place_id]&t=[maptype]

地图类型参数 "t" 显然是必需的。如果没有它,google 地图似乎会在 link 打开时执行更一般的搜索,有时会成功,有时不会。有了它,地图每次都会打开到正确的位置,无论是在浏览器中还是在移动应用程序中打开。

将街道地图的此参数设置为 "m",将卫星地图的此参数设置为 "k"。

SO 上的许多答案都显示了以下语法,如果附近有两个同名的位置,通常会产生不需要的结果,例如: https://www.google.com/maps/place/Starbucks/@43.088554,-88.06579,17z/

如果您已经在使用 google 个地方 api,那么您就有 place_id,所以我建议使用它以避免歧义。

特定 Google 地点的 URL 由地点详细信息 API 端点返回。

例如,如果您查询:

https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJV2BQ4laeekgRFauLvdXbFXE&key=YOUR_API_KEY

你会看到在返回的 JSON 中有一个键 'url' 指向 https://maps.google.com/?cid=8148660811851344661

最近,2017 年 5 月,Google 推出了新的 Google 地图 URLs API。您可以在官方文档

中阅读有关此内容的信息API

https://developers.google.com/maps/documentation/urls/guide

因此,从现在开始,您可以使用地点 ID 为 Google 地图构造一个 URL。在您的特定情况下,此 URL 将是

https://www.google.com/maps/search/?api=1&query=Google&query_place_id=ChIJN1t_tDeuEmsRUsoyG83frY4

希望对您有所帮助!