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
- 这是一个新的可选字段,其中将包含入口的人类可读名称,例如“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
- 这是一个新的可选字段,其中将包含导航点的直观易懂的名称,例如“5th Ave”。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
- 这是一个重复字段,可包含“包含”主要位置的较大位置。例如,如果主要地点是subpremise
,containingPlaces
通常会保存表示相应建筑物的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