【问题标题】:How to uniquely identify a place on Google Places API如何在 Google Places API 上唯一标识一个地点
【发布时间】:2012-06-26 20:16:37
【问题描述】:

我正在开发一个使用 Google Maps JavaScript API v3 的网络应用程序。我有这个问题:我想使用 Places Autocomplete 在我的数据库中保存一个位置。用户在文本字段中输入一个地点,然后在调用 API 之后,我的应用程序应该检查我的数据库中是否存在所选地点的城市;如果为 true,则返回城市 ID,否则插入城市并返回最后插入的 ID。

为此,我需要唯一标识一个地点。有什么建议吗?

【问题讨论】:

  • 我正在尝试解决以两种语言自动完成保存同一个地方的问题。即:“伦敦”(en)和“伦敦”(es)具有相同的ID。我只想存储真实姓名“伦敦”,而不是基于用户的“区域设置用户代理”
  • 截至 2018 年,API 中的每个地点都有一个唯一标识符:developers.google.com/places/place-id

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


【解决方案1】:

编辑:Places API 给出的 PlaceResult 包含一个标识符。您不能将其用作唯一 ID,因为它可以按照文档中的 here 进行更改

这是来自 ES(西班牙语)浏览器的“伦敦,英国”的地点结果:

address_components: Array[4]
formatted_address: "Londres, Reino Unido"
geometry: Object
html_attributions: Array[0]
icon: "http://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png"
id: "b1a8b96daab5065cf4a08f953e577c34cdf769c0"
name: "Londres"
reference: "CnRmAAAAxcbYEYZvXgbynu4U43cAtEqvCzpZrJUsDusnrYe2pu9nl0zCjyxdeSBMeTVbYQjzaJc56HEyV-YuSJUXLA0sbJUx-1GcaCEFYYX0HSQqXXoId3u_KClG9TpxCUyZhS-dJoLOQj1YJbmPcaWiuFM87hIQGOszWwqjaFe0bseLKvsicRoUCadktNXFFSgNAcHrD8LMSZuXbSA"
types: Array[2]
url: "https://maps.google.com/maps/place?q=Londres&ftid=0x47d8a00baf21de75:0x52963a5addd52a99"
vicinity: "Londres"
__proto__: Object

您应该实现一些逻辑来更新同一地点的 id。尚未找到任何解决此问题的方法。

【讨论】:

    猜你喜欢
    • 2016-11-23
    • 1970-01-01
    • 2018-04-17
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 1970-01-01
    相关资源
    最近更新 更多