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,
  "includeFutureOpeningBusinesses": boolean
}
フィールド
input

string

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

locationBias

object (LocationBias)

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

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

locationRestriction

object (LocationRestriction)

省略可。結果を特定の場所に制限します。

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

includedPrimaryTypes[]

string

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

includedRegionCodes[]

string

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

languageCode

string

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

regionCode

string

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

origin

object (LatLng)

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

inputOffset

integer

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

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

includeQueryPredictions

boolean

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

sessionToken

string

省略可。請求処理のために Autocomplete セッションを識別する文字列。URL とファイル名で安全な base64 文字列で、長さは 36 文字以内の ASCII 文字にする必要があります。それ以外の場合は、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 Console プロジェクトに属していることを確認します。
  • 新しいセッションごとに固有のセッション トークンを渡すようにしてください。複数のセッションで同じトークンを使用すると、リクエストごとに課金されます。
includePureServiceAreaBusinesses

boolean

省略可。フィールドが true に設定されている場合は、非店舗型ビジネスのみを含めます。非店舗型ビジネスは、客先に出向いてサービスを提供し、ビジネス拠点の住所では接客しないビジネスです。清掃サービスや配管工事などのビジネスが該当します。これらのビジネスは、Google マップに物理的な住所や所在地が登録されていません。これらのビジネスに対して、Places は locationplusCode などの位置情報関連フィールドを含むフィールドを返しません。

includeFutureOpeningBusinesses

boolean

省略可。true の場合、まだ開業していないが将来開業するビジネスを含めます。

レスポンスの本文

places.autocomplete のレスポンス proto。

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

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

object (Suggestion)

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

認可スコープ

次の OAuth スコープが必要です。

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

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 が異なる言語の場合、または Place にローカル言語から 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 文字の 0 ベースのオフセット(この値を含む)。

endOffset

integer

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

StructuredFormat

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

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

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

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

object (FormattableText)

Place またはクエリの名前を表します。

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 に解析したり、その逆を行ったりしてはなりません。