Method: geocode.destinations.searchDestinations

このメソッドは、宛先ルックアップを実行し、宛先のリストを返します。

HTTP リクエスト

POST https://geocode.googleapis.com/v4/geocode/destinations

この URL は gRPC Transcoding 構文を使用します。

リクエストの本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "travelModes": [
    enum (NavigationPoint.TravelMode)
  ],
  "languageCode": string,
  "regionCode": string,

  // Union field primary_query can be only one of the following:
  "place": string,
  "addressQuery": {
    object (SearchDestinationsRequest.AddressQuery)
  },
  "locationQuery": {
    object (SearchDestinationsRequest.LocationQuery)
  }
  // End of list of possible types for union field primary_query.
}
フィールド
travelModes[]

enum (NavigationPoint.TravelMode)

省略可。ナビゲーション ポイントをフィルタする移動手段。これは、レスポンスで返される navigationPoints フィールドに影響します。空の場合、すべての移動手段のナビゲーション ポイントが返されます。

languageCode

string

省略可。結果が返される言語。

regionCode

string

省略可。地域コード。ccTLD(「トップレベル ドメイン」)の 2 文字の値として指定される地域コード。このパラメータは、適用される法律に基づいて結果に影響します。このパラメータは、サービスから返される結果に影響を与えますが、完全に制限するわけではありません。

共用体フィールド primary_query。プライマリ宛先をクエリします。場所、完全修飾の住所、LatLng のいずれかを指定できます。情報が最小限の場所や住所は、目的地に変換できない場合があります。

宛先は、指定されたプライマリ クエリに基づいて構築されます。

注: ナビゲーションの目的地として設定できる場所と住所のみがサポートされています。たとえば、一軒家やアパート・マンションを表すプレイスはプライマリ クエリとして使用できますが、地域区分や行政区域を表すプレイスはプライマリ クエリとして使用できません。primary_query は次のいずれかになります。

place

string

場所のリソース名(places/{placeId} 形式)。

addressQuery

object (SearchDestinationsRequest.AddressQuery)

番地です。

locationQuery

object (SearchDestinationsRequest.LocationQuery)

正確な位置情報。

レスポンスの本文

DestinationService.SearchDestinations のレスポンス メッセージ。

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

JSON 表現
{
  "destinations": [
    {
      object (Destination)
    }
  ]
}
フィールド
destinations[]

object (Destination)

宛先のリスト。

プライマリ クエリからプライマリ目的地を一意に特定できる場合、サービスは 1 つの結果を返します。そうしないと、サービスから曖昧性除去のために複数の結果が返されるか、結果が返されない可能性があります。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/maps-platform.geocode
  • https://www.googleapis.com/auth/maps-platform.destinations

SearchDestinationsRequest.AddressQuery

検索する番地。対象国の郵便業務で使用されている形式で住所を指定します。

JSON 表現
{

  // Union field kind can be only one of the following:
  "address": {
    object (PostalAddress)
  },
  "addressQuery": string
  // End of list of possible types for union field kind.
}
フィールド
共用体フィールド kind。住所クエリ。kind は次のいずれかになります。
address

object (PostalAddress)

郵送先住所の形式の番地。

addressQuery

string

1 行でフォーマットされた番地。

SearchDestinationsRequest.LocationQuery

付近の主な目的地を特定するための位置情報クエリ。

注: 位置情報クエリがサブプレミスを含む建物内にある場合、返されるメインの場所がサブプレミスになる可能性があります。この場合、containingPlaces フィールドに建物が含まれます。

JSON 表現
{
  "placeFilter": {
    object (SearchDestinationsRequest.LocationQuery.PlaceFilter)
  },

  // Union field kind can be only one of the following:
  "location": {
    object (LatLng)
  }
  // End of list of possible types for union field kind.
}
フィールド
placeFilter

object (SearchDestinationsRequest.LocationQuery.PlaceFilter)

省略可。宛先候補に適用するフィルタ。

共用体フィールド kind。位置情報クエリ。kind は次のいずれかになります。
location

object (LatLng)

正確な LatLng 位置。

SearchDestinationsRequest.LocationQuery.PlaceFilter

宛先候補に適用するフィルタ。

JSON 表現
{
  "structureType": enum (PlaceView.StructureType),
  "addressability": enum (SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability)
}
フィールド
structureType

enum (PlaceView.StructureType)

省略可。指定した場合、すべての目的地にこの構造タイプのプライマリ プレイスが必ず存在します。これにより、一部の目的地が除外されたり、返される目的地が粗くなったり、細かくなったりすることがあります。

たとえば、GROUNDS が指定されている場合、返されるすべての目的地には、GROUNDS 構造タイプの主要な場所が含まれます。これにより、敷地の一部ではない目的地が除外されたり、返される目的地が敷地レベルに粗くなったりすることがあります。

このフィールドのもう一つの用途は、建物の表示ポリゴンを簡単に抽出することです。たとえば、BUILDING が指定されている場合、メインの場所の表示ポリゴンは、指定された場所にある建物になります。

addressability

enum (SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability)

省略可。指定すると、対応するアドレス可能性の条件を満たす宛先のみが返されます。

PlaceView.StructureType

この場所が表す構造のタイプ。

列挙型
STRUCTURE_TYPE_UNSPECIFIED 使用されません。
POINT ポイントの場所。
SECTION 建物のサブセクション。
BUILDING 建物。
GROUNDS 通常は大学のキャンパス、アパート、ショッピング モールなど、複数の建物を含む広いエリア。

SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability

アドレス指定可能性フィルタリングのオプションを定義します。今後、新しい値が追加される可能性があります。

列挙型
ADDRESSABILITY_UNSPECIFIED 指定しない場合、サービスは適切なデフォルトを選択します。
ANY アドレス指定可能性はフィルタリング条件ではありません。宛先は、アドレス指定可能かどうかに関係なく返されます。
PRIMARY 返されるすべての目的地には、番地または名前を含むプライマリの場所があります。
WEAK 返されるすべての目的地には、メインの場所またはサブ目的地があり、番地レベルの住所または名前が付けられています。

宛先

目的地。これには、メインの場所、関連する場所、入り口、ナビゲーション ポイントが含まれます。

JSON 表現
{
  "primary": {
    object (PlaceView)
  },
  "containingPlaces": [
    {
      object (PlaceView)
    }
  ],
  "subDestinations": [
    {
      object (PlaceView)
    }
  ],
  "landmarks": [
    {
      object (Landmark)
    }
  ],
  "entrances": [
    {
      object (Entrance)
    }
  ],
  "navigationPoints": [
    {
      object (NavigationPoint)
    }
  ]
}
フィールド
primary

object (PlaceView)

リクエストの primary_query で識別されるプライマリの場所。

containingPlaces[]

object (PlaceView)

メインの場所が含まれる、より大まかな場所。たとえば、この建物を含むアパート・マンションなどです。

subDestinations[]

object (PlaceView)

メインの場所のより正確なサブスポット。たとえば、建物に含まれるユニットなどです。

注: Places API から返される SubDestination と比較すると、このサブ目的地のリストはより網羅的で、各サブ目的地にはより多くの情報が含まれています。

landmarks[]

object (Landmark)

目的地を伝えるため、または到着をサポートするために使用できるランドマーク。

entrances[]

object (Entrance)

この目的地の入り口。

navigationPoints[]

object (NavigationPoint)

この目的地のナビゲーション ポイント。

PlaceView

Places API の Place のビューを表します。また、構造物の種類や表示ポリゴンなど、目的地に固有の追加情報も提供されます。

場合によっては、同じプレイス ID を持つ PlaceView が、types フィールドと displayName フィールドで Places API から返されるものと異なることがあります。

JSON 表現
{
  "place": string,
  "placeId": string,
  "displayName": {
    object (LocalizedText)
  },
  "primaryType": string,
  "types": [
    string
  ],
  "formattedAddress": string,
  "postalAddress": {
    object (PostalAddress)
  },
  "structureType": enum (PlaceView.StructureType),
  "location": {
    object (LatLng)
  },
  "displayPolygon": {
    object
  },
  "addressComponents": [
    {
      object (PlaceView.AddressComponent)
    }
  ]
}
フィールド
place

string

この Place のリソース名(places/{placeId} 形式)。場所の検索に使用できます。

placeId

string

場所の固有識別子。

displayName

object (LocalizedText)

人が読める形式の場所の説明。例: 「B ゲート」、「マクドナルド」

primaryType

string

この場所の主な場所タイプ。使用可能な値のリストについては、https://developers.google.com/maps/documentation/places/web-service/place-types をご覧ください。

注: このフィールドには常に値が入力されるとは限りません。このような状況では、types フィールドを使用する準備をしてください。

types[]

string

この場所に関連付けられているすべての場所タイプ。使用可能な値のリストについては、https://developers.google.com/maps/documentation/places/web-service/place-types をご覧ください。

formattedAddress

string

1 行の住所。

postalAddress

object (PostalAddress)

構造化された住所。

structureType

enum (PlaceView.StructureType)

この場所に対応する構造のタイプ。

location

object (LatLng)

この場所の所在地。表示ポリゴンがある場所の場合、これは地図上にマーカーを配置するのに適した場所を表すことができます。

displayPolygon

object (Struct format)

RFC 7946 形式(https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.6)を使用した、GeoJSON 形式の場所のポリゴン アウトライン。

注: RFC 7946 形式は MultiPolygon をサポートしているため、1 つの displayPolygon オブジェクトで複数のポリゴンを表すことができます。

addressComponents[]

object (PlaceView.AddressComponent)

各地域レベルの繰り返しコンポーネント。

PlaceView.AddressComponent

フォーマットされた住所を構成する構造化コンポーネント(この情報が利用可能な場合)。

JSON 表現
{
  "longText": string,
  "shortText": string,
  "types": [
    string
  ],
  "languageCode": string
}
フィールド
longText

string

住所コンポーネントの説明または名前。たとえば、オーストラリアの住所コンポーネントの場合、正式名称は「Australia」になります。

shortText

string

住所コンポーネントの略称(略称がある場合)。たとえば、オーストラリアの住所コンポーネントには「AU」という略称が設定されている場合があります。

types[]

string

住所コンポーネントのタイプを示す配列。

詳しくは、https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types をご覧ください。

languageCode

string

このコンポーネントのフォーマットに使用される言語(CLDR 表記)。

ランドマーク

ランドマークは、目的地がどこにあるかを伝えたり、目的地への到着をサポートしたりするために使用されます。

JSON 表現
{
  "relationalDescription": {
    object (LocalizedText)
  },
  "tags": [
    enum (Landmark.Tag)
  ],
  "straightLineDistanceMeters": number,
  "travelDistanceMeters": number,

  // Union field landmark can be only one of the following:
  "place": {
    object (PlaceView)
  }
  // End of list of possible types for union field landmark.
}
フィールド
relationalDescription

object (LocalizedText)

目的地とランドマークの関係を説明する、人が読める形式の説明。(例: 「エンパイア ステート ビルの近く」、「ホワイト ハウスの向かい」)。

tags[]

enum (Landmark.Tag)

目的地との関連でランドマークをどのように使用できるかを説明するタグ。

straightLineDistanceMeters

number

出力専用。このランドマークから目的地までの直線距離(メートル単位)。

travelDistanceMeters

number

出力専用。このランドマークから目的地までの徒歩距離(メートル単位)。

共用体フィールド landmark。ランドマーク。landmark は次のいずれかになります。
place

object (PlaceView)

このランドマークを表す場所。

Landmark.Tag

デスティネーションのコンテキストでランドマークをどのように使用できるかを説明する、考えられるすべてのタグのリスト。

アドレスに ADDRESS タグと ARRIVAL タグの両方が付いている場合、そのランドマークは地域で有名であり、目的地に近いことを意味します。

列挙型
TAG_UNSPECIFIED 使用されません。
ADDRESS 目的地の一般的な位置を特定するために使用できる、地域で有名な場所。通常は目的地から数百メートル以内です。これらは、Geocoding API の住所記述子機能によって返されるランドマークに似ています(https://developers.google.com/maps/documentation/geocoding/address-descriptors/requests-address-descriptors)。
ARRIVAL 目的地に到着するのに役立つ場所。目的地に近づいたときにナビゲーションに役立ちます。たとえば、このランドマークは、目的地の向かいにある場所などです。このタグが付いたランドマークは、通常、ADDRESS タグが付いたランドマークよりも目的地に近い場所にあります。

入口

エントランスは、場所の出入り口の位置を定義する緯度と経度の座標ペアです。

JSON 表現
{
  "location": {
    object (LatLng)
  },
  "tags": [
    enum (Entrance.Tag)
  ],
  "place": string
}
フィールド
location

object (LatLng)

入り口の場所。

tags[]

enum (Entrance.Tag)

入り口を説明するタグのリスト。

place

string

この入口が物理的に配置されている構造物(places/{placeId} 形式)。

Entrance.Tag

入り口を説明する特性。

列挙型
TAG_UNSPECIFIED 使用されません。
PREFERRED

この入り口は、返された目的地の主要な場所への物理的なアクセスを提供している可能性があります。1 つの場所に複数の優先エントランスを設定できます。このタグが付いていない入口は、物理的にはメインの場所と同じ建物にありますが、必ずしもその場所へのアクセスを提供するわけではありません。

たとえば、プライマリ プレイスがストリップ モール内のレストランの場合、「優先」エントランスはレストラン自体につながる可能性の高いエントランスであり、返される他のエントランスは、ストリップ モール内の他のレストランのエントランスなど、建物の他のエントランスになります。

メインの場所が建物自体である場合、PREFERRED の入り口は、建物の「メイン」部分につながる入り口になります。たとえば、ショッピング センターの場合、PREFERRED の入り口はメインのホワイエ エリアにアクセスできる入り口になりますが、建物の側面にある店舗にのみアクセスできる入り口は PREFERRED の入り口にはなりません。

注: PREFERRED のエントランスがメインの場所へのアクセスを提供していない場合や、PREFERRED 以外のエントランスがメインの場所へのアクセスを提供している場合があります。