Method: places.autocomplete

指定された入力の予測を返します。

HTTP リクエスト

POST https://places.googleapis.com/v1/places:autocomplete

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

リクエストの本文

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

JSON 表現
{
  "input": string,
  "locationBias": {
    object (LocationBias)
  },
  "locationRestriction": {
    object (LocationRestriction)
  },
  "includedPrimaryTypes": [
    string
  ],
  "includedRegionCodes": [
    string
  ],
  "languageCode": string,
  "regionCode": string,
  "origin": {
    object (LatLng)
  },
  "inputOffset": integer,
  "includeQueryPredictions": boolean,
  "sessionToken": string,
  "includePureServiceAreaBusinesses": boolean
}
フィールド
input

string

必須。検索するテキスト文字列。

locationBias

object (LocationBias)

省略可。指定された場所を優先するよう結果にバイアスを設定します。

locationBias または locationRestriction のいずれかを設定する必要があります。どちらも設定されていない場合、結果は IP アドレスによってバイアスされます。つまり、IP アドレスは不正確な位置にマッピングされ、バイアス シグナルとして使用されます。

locationRestriction

object (LocationRestriction)

省略可。結果を指定された場所に制限します。

locationBias または locationRestriction のいずれかを設定する必要があります。どちらも設定されていない場合、結果は IP アドレスによってバイアスされます。つまり、IP アドレスが不正確な場所にマッピングされ、バイアス信号として使用されます。

includedPrimaryTypes[]

string

省略可。プレイスタイプ(https://developers.google.com/maps/documentation/places/web-service/place-types))に含まれる主なプレイスタイプ(「restaurant」や「gas_station」など)、または (regions) のみ、(cities) のみ。プレイスは、その主要なタイプがこのリストに含まれている場合にのみ返されます。最大 5 つの値を指定できます。タイプを指定しないと、すべてのプレイス タイプが返されます。

includedRegionCodes[]

string

省略可。指定した地域の結果のみを表示します。指定は、最大 15 個の CLDR 2 文字の地域コードで指定します。空のセットを指定しても、結果は制限されません。locationRestrictionincludedRegionCodes の両方を設定した場合、結果は交差点のエリアに配置されます。

languageCode

string

省略可。結果を返す言語。デフォルトは en-US です。input で使用されている言語が languageCode と異なる場合や、返された場所にローカル言語から languageCode への翻訳がない場合、結果が複数の言語で表示されることがあります。

regionCode

string

省略可。2 文字の CLDR 地域コードとして指定された地域コード。これは住所のフォーマット、結果のランキングに影響し、返される結果にも影響する可能性があります。指定したリージョンに結果が制限されることはありません。結果をリージョンに制限するには、region_code_restriction を使用します。

origin

object (LatLng)

省略可。目的地までの測地線距離を計算する出発地です(distanceMeters として返されます)。この値を省略すると、測地線距離は返されません。

inputOffset

integer

省略可。input 内のカーソル位置を示す 0 ベースの Unicode 文字オフセット input。カーソルの位置が、返される予測に影響する可能性があります。

空の場合、デフォルトの input の長さになります。

includeQueryPredictions

boolean

省略可。true の場合、レスポンスには場所とクエリの予測の両方が含まれます。それ以外の場合、レスポンスには場所の予測のみが返されます。

sessionToken

string

省略可。請求目的で Autocomplete セッションを識別する文字列。URL とファイル名に安全な base64 文字列で、ASCII 文字で 36 文字以内にする必要があります。それ以外の場合は、INVALID_ARGUMENT エラーが返されます。

セッションは、ユーザーがクエリの入力を開始すると開始され、場所を選択して Place Details または Address Validation が呼び出されると終了します。セッションによっては、複数の検索語句が入力された後に、1 つのプレイス詳細リクエストまたは住所検証リクエストが送信される場合もあります。セッション内の各リクエストに使用される認証情報は、同じ Google Cloud コンソール プロジェクトに属している必要があります。セッションが終了するとトークンは無効になるため、アプリはセッションごとに新しいトークンを生成する必要があります。sessionToken パラメータを省略する場合や、セッション トークンを再利用する場合は、セッション トークンが指定されていない場合と同様にセッションが課金されます(各リクエストが個別に課金されます)。

次のガイドラインに従うことをおすすめします。

  • すべての Place Autocomplete 呼び出しにセッション トークンを使用します。
  • セッションごとに新しいトークンを生成します。バージョン 4 の UUID を使用することをおすすめします。
  • セッション内のすべての Place Autocomplete、Place Details、Address Validation リクエストに使用される認証情報が、同じ Cloud コンソール プロジェクトに属していることを確認します。
  • 新しいセッションごとに固有のセッション トークンを渡すようにしてください。同じトークンを複数のセッションで使用すると、各リクエストが個別に課金されます。
includePureServiceAreaBusinesses

boolean

省略可。フィールドが true に設定されている場合は、純粋な非店舗型ビジネスを含めます。非店舗型ビジネスとは、顧客の出張や出張に直結するビジネスで、ビジネスの住所では顧客にはサービスを提供しません。清掃サービスや配管工事などのビジネスが該当します。これらのビジネスには、Google マップに物理的な住所または場所がありません。これらのビジネス拠点については、Places から locationplusCode などの位置情報関連のフィールドが返されません。

レスポンスの本文

Places.Autocomplete のレスポンス プロトコル。

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

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

object (Suggestion)

関連性の高い順に並べられた候補のリストが含まれています。

LocationBias

検索するリージョン。結果は、指定した地域に偏る可能性があります。

JSON 表現
{

  // Union field type can be only one of the following:
  "rectangle": {
    object (Viewport)
  },
  "circle": {
    object (Circle)
  }
  // End of list of possible types for union field type.
}
フィールド

共用体フィールド type

type は次のいずれかになります。

rectangle

object (Viewport)

北東と南西の角で定義されたビューポート。

circle

object (Circle)

中心点と半径で定義された円。

LocationRestriction

検索する地域。結果は指定したリージョンに限定されます。

JSON 表現
{

  // Union field type can be only one of the following:
  "rectangle": {
    object (Viewport)
  },
  "circle": {
    object (Circle)
  }
  // End of list of possible types for union field type.
}
フィールド

共用体フィールド type

type は次のいずれかになります。

rectangle

object (Viewport)

北東と南西の角で定義されたビューポート。

circle

object (Circle)

中心点と半径で定義される円。

候補

オートコンプリートの候補結果。

JSON 表現
{

  // Union field kind can be only one of the following:
  "placePrediction": {
    object (PlacePrediction)
  },
  "queryPrediction": {
    object (QueryPrediction)
  }
  // End of list of possible types for union field kind.
}
フィールド

共用体フィールド kind

kind は次のいずれかになります。

placePrediction

object (PlacePrediction)

プレイスの予測。

queryPrediction

object (QueryPrediction)

クエリの予測。

PlacePrediction

Place Autocomplete の予測結果。

JSON 表現
{
  "place": string,
  "placeId": string,
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  },
  "types": [
    string
  ],
  "distanceMeters": integer
}
フィールド
place

string

候補のプレイスのリソース名。この名前は、場所の名前を受け入れる他の API で使用できます。

placeId

string

候補のプレイスの一意の識別子。この識別子は、プレイス ID を受け入れる他の API で使用できます。

text

object (FormattableText)

返された結果が人の読める形式で名前として含まれます。施設の結果の場合、通常はお店やサービスの名称と住所になります。

text は、単一の UI 要素を表示するデベロッパーに推奨されます。2 つの別個の(ただし関連する)UI 要素を表示する場合は、代わりに structuredFormat を使用できます。これらは、プレイスの予測を表現する 2 つの異なる方法です。structuredFormattext に解析したり、その逆を行ったりしないでください。

このテキストは、Places.get から返される displayName とは異なる場合があります。

リクエスト inputlanguageCode の言語が異なる場合や、場所にローカル言語から languageCode への翻訳がない場合、複数の言語が混在することがあります。

structuredFormat

object (StructuredFormat)

場所の予測を、場所の名前を含むメインテキストと、あいまいさを解消する追加の特徴(都市や地域など)を含むセカンダリ テキストに分割したものです。

structuredFormat は、2 つの別個の関連する UI 要素を表示するデベロッパーに推奨されます。単一の UI 要素を表示する場合は、代わりに text を使用することをおすすめします。これらは、プレイスの予測を表現する 2 つの異なる方法です。structuredFormattext に解析したり、その逆を行ったりしないでください。

types[]

string

https://developers.google.com/maps/documentation/places/web-service/place-types の表 A または表 B で、このプレイスに適用されるタイプのリスト。

タイプは、プレイスの分類です。タイプを共有するプレイスには、類似の特性があります。

distanceMeters

integer

origin が指定されている場合、origin からの測地線の長さ(メートル単位)。ルートなどの特定の予測では、このフィールドに値が入力されない場合があります。

FormattableText

場所またはクエリの予測を表すテキスト。テキストはそのまま使用することも、書式設定することもできます。

JSON 表現
{
  "text": string,
  "matches": [
    {
      object (StringRange)
    }
  ]
}
フィールド
text

string

そのまま使用するか、matches でフォーマットできるテキスト。

matches[]

object (StringRange)

入力リクエストが text で一致した場所を特定する文字列範囲のリスト。範囲を使用すると、text の特定の部分をフォーマットできます。一致が文字列の一致以外の条件(スペル修正や文字変換など)によって決定された場合、部分文字列は input と完全に一致しないことがあります。

これらの値は、text の Unicode 文字オフセットです。範囲はオフセット値の増加順で保証されます。

StringRange

指定したテキスト内の部分文字列を特定します。

JSON 表現
{
  "startOffset": integer,
  "endOffset": integer
}
フィールド
startOffset

integer

文字列の最初の Unicode 文字のゼロベースのオフセット(両端を含む)。

endOffset

integer

最後の Unicode 文字のゼロベースのオフセット(この値は含まれない)。

StructuredFormat

場所またはクエリの予測をメインテキストとセカンダリ テキストに分類した内容が含まれます。

場所の予測の場合、メインテキストには場所の具体的な名前が含まれます。クエリの予測の場合、メインテキストにクエリが含まれます。

セカンダリ テキストには、場所をより明確に特定したり、クエリを絞り込んだりするための追加の特徴(都市や地域など)が含まれています。

JSON 表現
{
  "mainText": {
    object (FormattableText)
  },
  "secondaryText": {
    object (FormattableText)
  }
}
フィールド
mainText

object (FormattableText)

プレイスまたはクエリの名前を表します。

secondaryText

object (FormattableText)

プレイスの特定を進めたり、クエリを絞り込んだりするために、曖昧さを解消する追加の特徴(都市や地域など)を表します。

QueryPrediction

クエリのオートコンプリート予測の予測結果。

JSON 表現
{
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  }
}
フィールド
text

object (FormattableText)

予測されたテキスト。このテキストはプレイスを表すのではなく、検索エンドポイント(テキスト検索など)で使用できるテキストクエリを表します。

text は、単一の UI 要素を表示するデベロッパーに推奨されます。2 つの別個の(ただし関連する)UI 要素を表示する場合は、代わりに structuredFormat を使用できます。これらは、クエリ予測を表現する 2 つの異なる方法です。structuredFormattext に解析したり、その逆を行ったりしないでください。

リクエスト inputlanguageCode の言語が異なる場合や、クエリの一部にローカル言語から languageCode への翻訳がない場合は、言語が混在する場合があります。

structuredFormat

object (StructuredFormat)

クエリ予測を、クエリを含むメインテキストと、曖昧性を排除する追加の特徴(都市や地域など)を含むセカンダリ テキストに分けて分類します。

structuredFormat は、2 つの別個の関連する UI 要素を表示するデベロッパーに推奨されます。単一の UI 要素を表示する場合は、代わりに text を使用することをおすすめします。これらは、クエリ予測を表現する 2 つの異なる方法です。ユーザーは、structuredFormattext に解析(またはその逆)しようとしないでください。