迁移到文本搜索(新)

Places API 支持现有的 文本搜索。如果您熟悉 文本搜索、 新版文本搜索 进行以下更改:

  • 新的文本搜索使用 HTTP POST 请求。通过 作为 HTTP POST 请求的一部分,包含在请求正文或标头中。 相比之下,对于现有的文本搜索,您需要传递 使用 HTTP GET 请求的网址参数。
  • 必须选择字段遮盖。您必须指定要返回的字段 。没有返回字段的默认列表。如果省略 那么这些方法会返回错误。如需了解详情,请参阅 FieldMask 的子类。
  • 新的文本搜索同时支持两种 API 密钥 并使用 OAuth 令牌作为身份验证机制。
  • 新的响应格式仅支持 JSON 文本搜索。
  • 通过现有的文本搜索,您可以指定纬度和经度。 坐标。例如:query=37.4239,-122.0925。 新版文本搜索不支持该选项。

    使用 反向地理编码 搜索坐标并返回相应地址,或者 附近搜索(新) 查找特定位置周围的地点。

  • 文本搜索的 JSON 响应格式(新) API 的格式已更改。有关详情,请参阅 迁移 Places API 响应

下表列出了现有 针对 新的文本搜索或不再使用的 支持。

当前参数 新增参数 备注
evOptions 新参数。
language languageCode
location locationBias
maxprice/minprice priceLevels
opennow openNow
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'