在Google地方信息自动填充中查找地址时获取city place-id

时间:2016-01-20 18:24:35

标签: google-places-api google-places

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

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

提前致谢

1 个答案:

答案 0 :(得分:3)

没有直接的方法可以从Autocompletion获取该城市的地址ID,以获取该城市的地址。

我建议这样的事情:

  1. 获取自动填充结果,该结果为特定地点提供地点ID。
  2. 获取该特定地点的详细信息,该地址提供了一组地址组件
  3. 使用2中的名称和位置搜索城市(或您想要的其他地址组件)。
  4. E.g:

    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=...)搜索纽约时,地址ID为ChIJOwg_06VPwokRYv534QaPC8g

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