从 v3 功能迁移到 SearchDestinations 端点

欧洲经济区 (EEA) 开发者

Geocoding API v3 中的以下功能将由 Geocoding API v4 的 SearchDestinations 端点取代:

  • 进入次数
  • 导航点
  • 构建大纲
  • 场地

如果您之前使用 Geocoding API v3 来实现上述功能,请参阅本文档,了解如何改用 SearchDestinations 端点来实现这些功能。 本文档介绍了如何在 SearchDestinations API 响应中找到这些功能,以及 Geocoding API v3 和 Geocoding API v4 的 SearchDestinations 端点在 API 响应中表示这些功能的方式有何不同。

进入次数

如需获取与 destination 关联的入口,请使用字段 destination.entrances

请注意,entrance 的格式与 Geocoding API v3 中的入口格式略有不同。destination.entrances 中的每个入口都包含以下字段:

  • displayName - 这是一个新的可选字段,其中将包含入口的人类可读名称,例如“Gate B”。
  • location - 这是 LatLng 类型的地理位置,与 Geocoding API v3 中使用的格式不同。
  • tags - 这与 Geocoding API v3 中入口的 tags 字段相同。
  • place - 类似于 Geocoding API v3 中入口的 buildingPlaceId 字段。不过,此字段中的地点 ID 可以是任何类型的地点,不一定只是建筑物。

如需获取与 destination 关联的导航点,请使用字段 destination.navigationPoints

请注意,navigationPoint 的格式与 Geocoding API v3 中的导航点格式略有不同。destination.navigationPoints 中的每个导航点都具有以下字段:

  • displayName - 这是一个新的可选字段,其中将包含导航点的直观易懂的名称,例如“第五大道”。
  • location - 这是 LatLng 类型的地理位置,与 Geocoding API v3 中使用的格式不同。
  • travelModes - 这类似于 Geocoding API v3 中导航点的 restrictedTravelModes 字段。可能的枚举值相同,唯一的区别在于,此字段现在表示导航点的可接受出行方式,而不是受限出行方式。
  • usage - 这是一个新字段,包含导航点支持的用例。请注意,大多数导航点都会有 UNKNOWN 用法,但这并不一定意味着导航点的用法受到任何限制。

构建大纲

如需获取与 destination 关联的建筑物轮廓,您应使用 destination 中表示建筑物的 placeView 对象的 displayPolygon 字段。对于每个 placeView,您可以使用 placeView.structureType 字段检查它是否为建筑物。如果结构类型为 BUILDING,您可以从 placeView.displayPolygon 字段获取大纲。placeView 还将包含 Geocoding API v3 中没有的建筑物的其他字段。

destination 可以在以下字段中包含表示建筑物的 placeView 对象:

  • destination.primary - 这是目标的主要位置。
  • destination.containingPlaces - 这是一个重复字段,可包含“包含”主要位置的较大位置。例如,如果主要地点是 subpremisecontainingPlaces 通常会保存表示相应建筑物的 placeView
  • destination.subDestinations - 这是一个重复字段,可包含主要地点的子目的地。例如,建筑物的各个公寓单元。此字段通常不会包含表示建筑物的 placeView

请注意,placeView.displayPolygon 的格式与 Geocoding API v3 中的建筑物轮廓格式(即 GeoJSON 格式,使用 RFC 7946 格式)相匹配。

场地

与构建轮廓类似,如需获取与 destination 关联的地面,您应使用 destination 中表示地面的 placeView 对象的 displayPolygon 字段。对于每个 placeView,您可以使用 placeView.structureType 字段检查它是否为理由。如果结构类型为 GROUNDS,您可以从 placeView.displayPolygon 字段获取轮廓。placeView 还将包含 Geocoding API v3 中没有的其他场地字段。

destination 可以包含一个 placeView 对象,该对象表示以下字段中的理由:

  • destination.primary
  • destination.containingPlaces
  • destination.subDestinations

请注意,placeView.displayPolygon 的格式与 Geocoding API v3 中的地块轮廓格式(即 GeoJSON 格式,使用 RFC 7946 格式)相匹配。

使用字段掩码请求这些功能

SearchDestinations 端点需要字段掩码,如选择要返回的字段中所述。字段掩码可以设置为 * 以返回所有字段,也可以设置为您想要接收的特定字段。例如,以下 API 请求将字段掩码设置为接收获取目的地入口、导航点、建筑物轮廓和地面所需的所有字段:

curl -X POST -d '{"place": "places/ChIJG3kh4hq6j4AR_XuFQnV0_t8"}' \
  -H "X-Goog-Api-Key: API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Goog-FieldMask: destinations.entrances,destinations.navigationPoints,destinations.primary,destinations.containingPlaces,destinations.subDestinations" \
  https://geocode.googleapis.com/v4alpha/geocode/destinations