简介
Places API(旧版)支持文本搜索(旧版)。如果您熟悉文本搜索(旧版),文本搜索(新)会进行以下更改:
- Text Search(新)使用 HTTP POST 请求。在 HTTP POST 请求中,在请求正文或标头中传递参数。 相比之下,使用文本搜索(旧版)时,您需要使用 HTTP GET 请求传递网址参数。
- 必须进行字段遮盖。您必须指定要在响应中返回哪些字段。没有默认的返回字段列表。如果您省略此列表,这些方法会返回错误。如需了解详情,请参阅 FieldMask。
- Text Search(新)支持使用 API 密钥和 OAuth 令牌作为身份验证机制。
- 在文本搜索(新)中,仅支持 JSON 作为响应格式。
- 借助文本搜索(旧版),您可以在查询字符串中指定纬度和经度坐标。例如: - query=37.4239,-122.0925。 文本搜索(新)不支持该选项。
- 文本搜索(新)的 JSON 响应格式已从旧版 API 的格式更改为新格式。如需了解详情,请参阅迁移 Places API 响应。
下表列出了在文本搜索(旧版)中已重命名或修改为文本搜索(新版)的参数,以及不再支持的参数。
| 当前形参 | 新增参数 | 备注 | 
|---|---|---|
| evOptions | 新参数。 | |
| language | languageCode | |
| location | locationBias | |
| maxprice/minprice | priceLevels | |
| opennow | openNow | |
| pagetoken | pageToken | |
| query | textQuery | 所有请求中都必须包含此字段。 | 
| radius | locationBias | 定义 locationBias时,请指定半径。 | 
| region | regionCode | |
| type | includedType | 仅接受单个值。 | 
| strictTypeFiltering | 新参数。 | 
示例请求
以下示例 GET 请求使用文本搜索(旧版)。在此示例中,您请求包含“澳大利亚悉尼的辣味素食”相关信息的 JSON 响应,并将所有参数作为网址参数传递:
curl -L -X GET \ 'https://maps.googleapis.com/maps/api/place/textsearch/json?query=Spicy%20Vegetarian%20Food%20in%20Sydney%20Australia&key=API_KEY
使用文本搜索(新)时,您需要发出 POST 请求,并在 JSON 请求正文中或标头中传递所有参数,作为 POST 请求的一部分。此示例还使用了字段掩码,因此响应仅包含地点的显示名称和格式化地址:
curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-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:searchText'