在通过自动完成输入框查找地址时,我试图从城市或地区获取 Place-id。问题是,当我查找任何地址时,我可以获得城市名称和其他一些详细信息(JSON 格式),但是......
有没有办法直接从第一个查询中获取该地址城市(或村庄)的 place-id? 如果不是,最有效的方法是什么?
提前致谢
最佳答案
没有直接的方法可以从该城市地址的自动完成中获取该城市的地点 ID。
我建议这样:
- 获取自动完成结果,它会给出特定地点的地点 ID。
- 获取该特定地点的详细信息,这会给出一组地址组件
- 使用 2 中的名称和位置搜索城市(或您想要的其他地址部分)。
例如:
- 自动完成
empire state build
结果的地点 ID 为ChIJtcaxrqlZwokRfwmmibzPsTU
。 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" ] },
使用位置和类型信息搜索纽约 (
https://maps.googleapis.com/maps/api/place/nearbysearch/json?keyword=New+York&location=40.7484404,- 73.9856554&radius=5000&types=locality&key=...
) 给出了ChIJOwg_06VPwokRYv534QaPC8g
的地点 ID。
您可以将第 3 步替换为具有 types=(cities)
的地点自动完成查询(即 https://maps.googleapis.com/maps/api/place/autocomplete/json?input=New+York&location=40.7484404,-73.9856554&types=(cities)
) 如果你愿意的话。
关于google-places-api - 在 Google Places Autocomplete 上查找地址时获取城市 place-id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34907666/