首页 > 解决方案 > Google Maps API - PlacesAutocomplete 类型问题

问题描述

我目前正在GoogleMaps API使用他们的PlacesAutocomplete插件来填充输入的应用程序。

我遇到的问题是,types对于 Airports 的结果,我只得到establishment. 我尝试在 API 调用中使用establishmentandgeocode参数,但没有成功。我要么只得到结果,要么得到establishment最大值transit_station。问题transit_station是所有的火车站、机场、汽车站都标记相同。

我需要一种方法来为每个人获取特定类型,有人可以帮助我,也许我做错了什么。

您可以在下面的屏幕截图中看到API 在调用中将建立设置为类型参数的 API 结果

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

解决方案


根据文档,目前 places 自动完成的 types 参数仅支持以下值:

geocode
address
establishment
(regions)
(cities)

https://developers.google.com/maps/documentation/javascript/places-autocomplete#add_autocomplete

LE:找到了解决方法

为了获得地点类型,我API这次使用了另一个Place Details

placeIdAutocomplete请求中获取了一个新请求,Place Details并将fields参数设置为types

https://maps.googleapis.com/maps/api/place/details/json?key=[YOUR_KEY]&placeid=ChIJRQFUJVRhRUcR-C4yT1Y4KWk&fields=type

结果是

{
    "html_attributions": [],
    "result": {
        "types": [
            "airport",
            "point_of_interest",
            "establishment"
        ]
    },
    "status": "OK"
}

因此,通过结合这两个调用,我什至能够获得其中Autocomplete不可用的类型

的文档Place Details可以在这里找到


推荐阅读