【问题标题】:How to search by city in Google Maps?如何在谷歌地图中按城市搜索?
【发布时间】:2015-10-10 01:23:12
【问题描述】:

我正在开发一个谷歌地图网络应用程序,我正在使用谷歌地图自动完成功能来选择地点并将地址保存在数据库中。现在我正在使用这个https://maps.googleapis.com/maps/api/geocode/json?latlng=42.072845,19.516300

获取完整格式的地址

如您所见,那里的城市名称是“Shkodër”,但也可以搜索为“Shkoder”。

因此,我可能会在数据库中保存“Rruga Besnik Sykja, Shkodër, Albania”或“Rruga Besnik Sykja, Shkoder, Albania”。

1)

2)

我还使用 Google 地图自动填充表单来搜索位置,我希望能够从自动填充字段中选择城市,然后显示我保存在包含该城市名称的数据库中的所有位置。

我的问题出在这里:如果在数据库中我收到并保存城市名称为“Shkodër”,但在搜索表单中用户选择“Shkodër”怎么办?它们不匹配,用户可能无法从我的数据库中获得正确的结果。

是否有任何可靠的方法可以使用一些通用的城市 ID 或其他东西来搜索城市中的所有标记,即使城市名称可能发生变化?

到目前为止,我还没有找到任何有用的东西......

【问题讨论】:

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


    【解决方案1】:

    你可以使用Place ID:https://developers.google.com/places/place-id

    地点 ID 是唯一标识地点的文本标识符。 它看起来像这样:

    ChIJrTLr-GyuEmsRBfy61i59si0

    地点 ID 可用于大多数地点,包括企业、 地标、公园和十字路口。这些 ID 是稳定的,这意味着 一旦您确定了地点的地点 ID,您就可以重复使用 下次查找该地点时的该值。

    您可以在 Places API 中使用相同的地点 ID 和多个 谷歌地图 API。例如,您可以使用相同的地点 ID 在 Google Places API、Google Maps JavaScript 中引用一个地点 API、谷歌地图地理编码 API、谷歌地图嵌入 API 和 谷歌地图道路 API

    【讨论】:

    • 另一个优点是place_id不受持久存储的限制。
    • 谢谢@Ivan - 我刚刚意识到我没有标记这个答案。我最终“发明”并实施了不同的解决方案,但这似乎也很有趣。我可以试一试。感谢您的时间和帮助。
    • Place API 现在似乎已弃用。有其他选择吗?
    【解决方案2】:

    您可以使用 google map api v3 的 componentRestrictions 进行自动完成

    这里是参考链接

    https://developers.google.com/maps/documentation/javascript/places-autocomplete

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-26
      相关资源
      最近更新 更多