迁移到附近搜索(新)

欧洲经济区 (EEA) 开发者

简介

Places API 支持 “附近搜索”(旧版)。 如果您熟悉“附近搜索”(旧版),那么 “附近搜索”(新版)会做出以下 更改:

  • “附近搜索”(新版)使用 HTTP POST 请求。 在请求正文或标头中传递参数,作为 HTTP POST 请求的一部分。相比之下,使用“附近搜索”(旧版)时, 您可以使用 HTTP GET 请求传递网址参数。
  • 必须使用字段掩码。您必须指定要在响应中返回的字段。 没有返回字段的默认列表。如果您省略 此列表,这些方法会返回错误。如需了解详情,请参阅 FieldMask
  • “附近搜索”(新版)同时支持 API 密钥OAuth 令牌作为身份验证机制。
  • 在“附近搜索”(新版)中,仅支持 JSON 作为响应格式。
  • 所有包含文本查询的请求现在都应使用 “文本搜索”(新版) ,因为“附近搜索”(新版)不支持文本输入。
  • “附近搜索”(新版)的 JSON 响应格式已从旧版 API 的格式更改。 如需了解详情,请参阅 迁移 Places API 响应

下表列出了“附近搜索”(旧版)中已针对“附近搜索”(新版)重命名或修改的参数,或不再支持的参数。

当前参数 新参数 备注
keyword 不支持。请改用 “文本搜索”(新版)
language languageCode
location locationRestriction 必填。
maxprice/minprice 不支持。
maxResultCount 新参数。
opennow 不支持。
pagetoken 不支持。
radius 现在请使用 locationRestriction
rankby rankPreference
regionCode 新参数。
type includedTypes
excludedTypes
includedPrimaryTypes
excludedPrimaryTypes
新参数也接受多个类型值。旧版 API 仅接受单个值。

示例请求

以下示例 GET 请求使用“附近搜索”(旧版)。在此示例中,您请求一个 JSON 响应,其中包含有关类型为 restaurant 的地点的信息,并将所有参数作为网址参数传递:

curl -L -X GET \
'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=37.7937%2C-122.3965&radius=500&type=restaurant&key=API_KEY'

使用“附近搜索”(新版)时,您会发出 POST 请求,并在 JSON 请求正文或标头中传递所有参数,作为 POST 请求的一部分。 此示例还使用了字段掩码,因此响应仅包含地点的显示名称和格式化地址:

curl -X POST -d '{
  "includedTypes": ["restaurant"],
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965},
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName,places.formattedAddress" \
https://places.googleapis.com/v1/places:searchNearby