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
}
フィールド
input

string

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

locationBias

object (LocationBias)

省略可。指定した場所を優先して結果にバイアスをかけることができます。

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

locationRestriction

object (LocationRestriction)

省略可。指定した場所に結果を絞り込みます。

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

includedPrimaryTypes[]

string

省略可。テーブル A またはテーブル B のメインの場所タイプ(「レストラン」や「gas_station」など)をプレイスタイプ(https://developers.google.com/maps/documentation/places/web-service/place-types)、のみ(地域)、のみ(都市)に含めます。プレイスは、その主要なタイプがこのリストに含まれている場合にのみ返されます。最大 5 つの値を指定できます。タイプが指定されていない場合は、すべてのプレイスタイプが返されます。

includedRegionCodes[]

string

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

languageCode

string

省略可。結果を返す言語。デフォルトは en-US です。input で使用されている言語が languageCode と異なる場合、または返されたプレイスにローカル言語から languageCode への翻訳がない場合、結果が混合言語になる可能性があります。

regionCode

string

省略可。2 文字の CLDR 地域コードとして指定された地域コード。これは、住所の形式や結果のランキングに影響するほか、返される結果にも影響する場合があります。指定したリージョンに結果が制限されることはありません。結果をリージョンに制限するには、region_code_restriction を使用します。

origin

object (LatLng)

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

inputOffset

integer

省略可。input 内のカーソル位置を示す、input のゼロベースの Unicode 文字オフセット。カーソルの位置は、返される予測結果に影響を与える場合があります。

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

includeQueryPredictions

boolean

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

sessionToken

string

省略可。請求処理のために予測入力セッションを識別する文字列です。URL とファイル名セーフ、長さが 36 文字以下の base64 文字列にする必要があります。それ以外の場合は、INVALID_ARGUMENT エラーが返されます。

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

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

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

レスポンスの本文

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 は、プレイス ID を受け入れる他の API で使用できます。

text

object (FormattableText)

返された結果の、人が読める形式の名前が含まれます。ビジネスの確立の結果の場合は、通常、ビジネスの名前と住所になります。

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

このテキストは、place.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

Query Autocomplete 予測の予測結果。

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 に解析(またはその逆)しようとしないでください。