Places API 支持现有的 Autocomplete 和 Query Autocomplete API。如果您熟悉这些 API,则“自动补全(新)”会进行以下更改:
- “自动补全(新)”使用 HTTP POST 请求。在 HTTP POST 请求的请求正文或标头中传递参数。与之相反,对于现有 API,您需要使用 HTTP GET 请求传递网址参数。
- 自动补全(新)支持使用 API 密钥和 OAuth 令牌作为身份验证机制。
- 自动补全(新)仅支持 JSON 格式的响应。
下表列出了现有 Autocomplete API 和 Query Autocomplete API 中已重命名或修改为 Autocomplete(新)的参数,或不再受支持的参数。
当前参数 | 新增参数 | 备注 |
---|---|---|
components |
includedRegionCodes |
|
language |
languageCode |
|
location |
locationBias |
|
ipbias |
如果您同时省略 locationBias 和 locationRestriction ,则 API 默认使用 IP 偏向。 |
|
offset |
inputOffset |
|
radius |
locationBias 或 locationRestriction |
|
region |
regionCode |
|
stricbounds |
locationRestriction |
|
sessiontoken |
sessionToken |
|
types |
includedPrimaryTypes |
示例请求
以下示例 GET 请求使用现有的地点自动补全功能。在此示例中,您请求 JSON 响应,其中包含有关类型为 establishment
且名为“Amoeba”的地点的信息,并将所有参数作为网址参数传递:
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=amoeba&types=establishment&location=37.76999%2C-122.44696&radius=500&key=YOUR_API_KEY'
使用“自动补全(新)”时,您可以发出 POST 请求,并在 JSON 请求正文或标头中作为 POST 请求的一部分传递所有参数。
自动补全(新)请求不需要字段掩码,但可以使用字段掩码在响应中过滤出特定结果。例如,以下请求使用字段掩码,因此响应中仅包含建议的 suggestions.placePrediction.text
:
curl -X POST -d '{ "input": "Amoeba", "locationBias": { "circle": { "center": { "latitude": 37.76999, "longitude": -122.44696 }, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: suggestions.placePrediction.text' \ https://places.googleapis.com/v1/places:autocomplete
如需详细了解如何使用字段掩码,请参阅地点详情(新)。