简介
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 |
includedTypesexcludedTypesincludedPrimaryTypesexcludedPrimaryTypes
|
新参数也接受多个类型值。旧版 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