迁移到自动补全(新)

Places API 支持现有的 Autocomplete API 和 Query Autocomplete API。如果您熟悉这些 API,自动补全(新)会做出以下更改:

  • 自动补全(新)使用 HTTP POST 请求。将参数作为 HTTP POST 请求的一部分在请求正文或标头中传递。相比之下,使用现有 API,您可以使用 HTTP GET 请求传递网址参数。
  • 自动补全(新)支持使用 API 密钥OAuth 令牌作为身份验证机制。
  • 自动补全(新)仅支持 JSON 作为响应格式。

下表列出了现有 Autocomplete API 和 Query Autocomplete API 这两个 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 响应,该响应包含名为“Amoeba”的地点的相关信息(类型为 establishment),并以网址参数的形式传递所有参数:

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 请求的一部分传递。此示例还使用了字段掩码,因此响应仅包含地点的显示名称和设置了格式的地址:

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" \
https://places.googleapis.com/v1/places:autocomplete