google-places-api-在Google Places自动完成中寻找地址时获取城市的地方ID

codeday· 2019-11-20
本文来自 codeday ,作者 codeday
在通过自动完成输入框查找地址时,我试图从城市或地区获取Place-id.问题是,当我寻找任何地址时,我可以获取城市名称和其他一些详细信息(JSON格式),但是…

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

提前致谢

最佳答案
没有直接方法可以从自动完成功能中获取城市的位置ID.

我建议是这样的:

>获取自动完成结果,该结果将提供特定位置的位置ID.
>获取该特定位置的详细信息,从而提供一组地址组件
>使用2中的名称和位置搜索城市(或所需的其他地址部分).

例如.:

>自动完成帝国状态生成的结果的位置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 = …)给出位置ID为ChIJOwg_06VPwokRYv534QaPC8g.

您可以用类型=(城市)的地方自动完成查询替换第3步(即https://maps.googleapis.com/maps/api/place/autocomplete/json?input=New York& location = 40.7484404,-73.9856554 & types = {citys)).