迁移到自动补全(新)

Places API 支持现有的 AutocompleteQuery 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 如果您同时省略 locationBiaslocationRestriction,则 API 默认使用 IP 偏向。
offset inputOffset
radius locationBiaslocationRestriction
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

如需详细了解如何使用字段掩码,请参阅地点详情(新)