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 は、建物だけでなく、あらゆるタイプの場所のプレイス 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 に関連付けられた建物の輪郭を取得するには、建物を表す destinationplaceView オブジェクトの 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 の形式は、RFC 7946 形式を使用した GeoJSON 形式である Geocoding API v3 の建物の輪郭形式と一致します。

邸宅と庭園

建物の輪郭の作成と同様に、destination に関連付けられたグラウンドを取得するには、グラウンドを表す destination 内の placeView オブジェクトの displayPolygon フィールドを使用する必要があります。各 placeView について、placeView.structureType フィールドで根拠があるかどうかを確認できます。構造体の型が GROUNDS の場合、placeView.displayPolygon フィールドからアウトラインを取得できます。また、placeView には、Geocoding API v3 になかった理由を示す追加フィールドも含まれます。

destination には、次のフィールドで理由を表す placeView オブジェクトを含めることができます。

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

placeView.displayPolygon の形式は、RFC 7946 形式を使用する GeoJSON 形式である、Geocoding API v3 のグラウンド アウトライン形式と一致します。

フィールド マスクを使用してこれらの機能をリクエストする

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