在 Google Places Autocomplete 上查找地址时获取城市 place-id

Get city place-id when looking for an address on Google Places Autocomplete

在通过自动完成输入框查找地址时,我试图从城市或地区获取 Place-id。问题是,当我查找任何地址时,我可以获得城市名称和其他一些详细信息(JSON 格式),但是......

有没有办法直接从第一个查询中获取该地址城市(或村庄)的 place-id? 如果没有,最有效的方法是什么?

提前致谢

没有直接的方法从城市地址的自动完成中获取城市的地点 ID。

我建议这样:

  1. 获取自动完成结果,其中给出特定地点的地点 ID。
  2. 获取该特定地点的详细信息,它给出了一组地址组件
  3. 使用 2.
  4. 中的名称和位置搜索城市(或您想要的其他地址部分)

例如:

  1. 自动完成 empire state build 结果的地点 ID 为 ChIJtcaxrqlZwokRfwmmibzPsTU
  2. https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJtcaxrqlZwokRfwmmibzPsTU&key=... 给出位置 40.7484404,-73.9856554 和地址组件,如:

    {
       "long_name" : "Midtown",
       "short_name" : "Midtown",
       "types" : [ "neighborhood", "political" ]
    },
    {
       "long_name" : "Manhattan",
       "short_name" : "Manhattan",
       "types" : [ "sublocality_level_1", "sublocality", "political" ]
    },
    {
       "long_name" : "New York",
       "short_name" : "New York",
       "types" : [ "locality", "political" ]
    },
    
  3. 使用位置和类型信息 (https://maps.googleapis.com/maps/api/place/nearbysearch/json?keyword=New+York&location=40.7484404,-73.9856554&radius=5000&types=locality&key=...) 搜索纽约会得到 ChIJOwg_06VPwokRYv534QaPC8g.

  4. 的地点 ID

如果您愿意,您可以将第 3 步替换为带有 types=(cities)(即 https://maps.googleapis.com/maps/api/place/autocomplete/json?input=New+York&location=40.7484404,-73.9856554&types=(cities))的地点自动完成查询。