從 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:這是新的選用欄位,可讓使用者瞭解入口名稱,例如「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 第 3 版中沒有。

destination 可在下列欄位中包含代表建築物的 placeView 物件:

  • destination.primary - 這是目的地的主要位置。
  • destination.containingPlaces - 這個重複欄位可保留「包含」主要地點的較大地點。舉例來說,如果主要地點是 subpremisecontainingPlaces 通常會保留代表建築物的 placeView
  • destination.subDestinations - 這是重複欄位,可保留主要地點的子目的地。例如建築物中的個別公寓單位。這個欄位通常不會有代表建築物的 placeView

請注意,placeView.displayPolygon 的格式與 Geocoding API v3 中的建築物外框格式相同,也就是採用 RFC 7946 格式的 GeoJSON 格式。

園區

與建構輪廓類似,如要取得與 destination 相關聯的理由,您應使用 placeView 物件中代表理由的 displayPolygon 欄位。destination針對每個 placeView,您可以透過 placeView.structureType 欄位確認是否為理由。如果結構類型為 GROUNDS,您可以從 placeView.displayPolygon 欄位取得大綱。placeView 也會包含 Geocoding API v3 中沒有的理由欄位。

destination 可以有 placeView 物件,代表下列欄位中的理由:

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

請注意,placeView.displayPolygon 的格式與 Geocoding API v3 中的地基輪廓格式相同,也就是採用 RFC 7946 格式的 GeoJSON 格式。

使用欄位遮罩要求這些功能

如「選擇要傳回的欄位」一文所述,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