【问题标题】:How do I get a direct link to a place on google maps with the Place Id如何使用地点 ID 直接链接到谷歌地图上的地点
【发布时间】:2015-05-26 19:46:01
【问题描述】:

我的应用中有谷歌地图上某个地点的地点 ID。有没有办法将地点 ID 放在 URL 中并直接链接到页面?还是必须通过 URL 完成?

我似乎在文档中找不到任何详细说明。我在下面尝试过,但它只是让我获得标准的谷歌地图页面:

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

【问题讨论】:

标签: google-maps google-maps-api-3 google-maps-urls


【解决方案1】:

最近,在 2017 年 5 月,Google 推出了新的 Google Maps 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

希望这会有所帮助!

【讨论】:

  • 请注意,iOS 11 不支持此网址,因为它尝试打开地图应用然后失败。
  • query 参数是必需的,如果未找到place_id,则将其用作后备(因此请输入相关内容:&query=${encodeURIComponent(<place name>)})。 api=1 也是必需的,唯一可能的值是 1(原文如此)。这一切都在上面引用的文档中。总是需要先阅读文档。天哪。
【解决方案2】:

不直接,使用placeID可以得到各种JSON或XML格式的信息,其中还有地点的lat lng和地址,方便定位地图 google developer doc

【讨论】:

    【解决方案3】:

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

    例如,如果您查询:

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

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

    【讨论】:

      【解决方案4】:

      此时,生成直接指向正确 google 位置的通用链接的正确格式是:https://maps.google.com/?cid=[place_id]&t=[maptype]

      地图类型参数“t”显然是必要的。没有它,当链接打开时,谷歌地图似乎会执行更一般的搜索,有时会成功,有时不会。有了它,无论是在浏览器中还是在移动设备上的应用程序中打开,地图每次都会打开到正确的位置。

      将此参数设置为街道地图的“m”和卫星地图的“k”。

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

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

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      • 1970-01-01
      • 2020-07-18
      • 1970-01-01
      • 1970-01-01
      • 2012-03-23
      • 1970-01-01
      相关资源
      最近更新 更多