オートコンプリート(新)

プラットフォームを選択: Android iOS JavaScript ウェブサービス

予測入力(新版)サービスは、ユーザーの入力内容に HTTP リクエストに応答して、予測とクエリ予測を作成します。リクエストでは、テキスト 検索文字列と、検索領域を制御する地理的境界です。

予測入力(新版)サービスでは、単語の完全に一致する単語や 部分文字列を変換し、場所の名前、住所、 plus code。そのため、アプリケーションは ユーザーの入力に応じたクエリを自動的に生成して、場所やクエリの予測をその場で提供します。

Autocomplete (New) API からのレスポンスには、次の 2 つのタイプを含めることができます。 説明します。

  • 場所の候補: 店舗、住所、地図上の場所などの場所 指定した入力テキスト文字列と検索領域に基づいて、興味 / 関心を洗い出します。場所の候補は 返されます。
  • クエリ予測: 入力テキスト文字列に一致するクエリ文字列 表示されます。デフォルトでは、クエリ予測は返されません。こちらの クエリ予測を追加する includeQueryPredictions リクエスト パラメータ レスポンスが返されます。

たとえば、ユーザー入力の一部を含む文字列を入力として使用し、API を呼び出します。 検索範囲をカリフォルニア州サンフランシスコに限定した「Sicilian piz」。レスポンスには 検索文字列と検索領域に一致する場所の候補のリスト( レストラン「Sicilian Pizza Kitchen」です。

返される場所の候補は、ユーザーが簡単に情報を確認できるように ユーザーが目的の場所を選択できるようにします。新しい Place Details(新規) 返された場所予測に関する詳細情報を取得できます。

レスポンスには、指定したキーワードに一致するクエリ予測のリストも含まれる場合があります。 検索文字列と検索範囲(「Sicilian Pizza &パスタ」と言いました。予測された各クエリ予測は、 レスポンスには、推奨されるテキスト検索文字列を含む text フィールドが含まれます。使用する します。 テキスト検索(新版) より詳細な検索を実行できます

API Explorer を使用すると、ライブ リクエストを発行できるため、API と API オプション:

試してみる

予測入力(新)リクエスト

予測入力(新)リクエストは、 次のフォームを使用します。

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

すべてのパラメータを JSON リクエスト本文で、または POST リクエストの一部としてヘッダーで渡します。 例:

curl -X POST -d '{
  "input": "pizza",
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965
      },
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

回答について

予測入力(新)は、レスポンスとして JSON オブジェクトを返します。 レスポンスの説明:

  • suggestions 配列には、予測されるすべての場所とクエリが順番に格納されます。 広告のパフォーマンスを最適化できます各場所は、トレーニング データで表され、 placePrediction フィールドがあり、各クエリは queryPrediction フィールドで指定しました。
  • placePrediction フィールドには、1 つのイベントの詳細情報が含まれます。 場所の予測(場所 ID、テキストの説明を含む)
  • queryPrediction フィールドには、1 つのイベントの詳細情報が含まれます。 説明します

完全な JSON オブジェクトの形式は次のとおりです。

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }]
        },
      ...
    },
    {
      "queryPrediction": {
        "text": {
          "text": "Amoeba Music",
          "matches": [
            {
              "endOffset": 6
            }]
        },
        ...
    }
  ...]
}

必須パラメータ

  • 入力

    検索するテキスト文字列。完全な単語と部分文字列を指定する 場所の名前、住所、Plus Codes。 予測入力(新)サービス この文字列に基づいて一致する候補を返し、次に基づいて結果を並べ替えます 向上させることができます

オプション パラメータ

  • includedPrimaryTypes

    場所には、 テーブル A または 表 B.たとえば プライマリ タイプは "mexican_restaurant" または "steak_house" です。

    デフォルトでは、API は input パラメータに基づいて、 場所に関連付けられた主要なタイプの値。結果を特定の値に制限する includedPrimaryTypes パラメータを渡します。

    このパラメータを使用して、Table A の型の値を最大 5 つ指定します。 テーブル B.場所は 1 つの場所に 指定されたプライマリ タイプの値のいずれかに一致し、レスポンスに含まれます。

    このパラメータに、代わりに (regions) または (cities) のいずれかを含めることもできます。 (regions) タイプ コレクションは、区域や郵便番号などのエリアや区分をフィルタします。 (cities) タイプ コレクションは、Google が都市として識別した場所をフィルタします。

    次の場合、リクエストは INVALID_REQUEST エラーで拒否されます。

    • 6 つ以上のタイプが指定されている。
    • (cities) または (regions) に加えて、任意の型を指定します。
    • 認識されないタイプが指定されています。
  • includeQueryPredictions

    true の場合、レスポンスには場所予測とクエリ予測の両方が含まれます。デフォルト 値が false の場合、レスポンスには場所の候補のみが含まれます。

  • includedRegionCodes

    最大 15 個の配列として指定された、指定した地域のリストからの結果のみを含める ccTLD(「トップレベル ドメイン」) 使用できます。省略すると、レスポンスに制限は適用されません。たとえば リージョンをドイツとフランスに制限します。

        "includedRegionCodes": ["de", "fr"]

    locationRestrictionincludedRegionCodes の両方を指定すると、 結果は 2 つの設定の交差領域に配置されます。

  • inputOffset

    input 内のカーソル位置を示す、ゼロベースの Unicode 文字オフセット。 カーソルの位置は、返される予測の種類に影響します。空の場合、デフォルトで input の長さ。

  • languageCode

    結果を返す際の優先言語。検索結果には複数の言語が混在している可能性があります input で使用されている言語が、指定した値と異なる場合 languageCode であるか、返された場所の翻訳が ローカル言語をlanguageCodeに変更します。

    • IETF BCP-47 言語コードを使用して、使用する言語を指定します。
    • languageCode が指定されていない場合、API は Accept-Language ヘッダー。どちらも指定されていない場合のデフォルトは、 en。無効な言語コードを指定すると、API は INVALID_ARGUMENT エラー。
    • 優先言語は、表示される結果セットにほとんど影響しません。 返される順序を指定します。 これは、スペルミスを修正する API の機能にも影響します。
    • この API は、ユーザーと企業の両方が読み取り可能な番地を指定しようとします。 ユーザーの入力を反映します。場所の候補は 各リクエストでのユーザー入力に応じて異なる形式にします。
      • input パラメータ内の一致する語句が、名前揃えを使用して最初に選択されます languageCode パラメータで示された言語設定が適用され、 それ以外の場合は、ユーザー入力に最適な名前を使用します。
      • 番地は、ユーザーが読み取り可能なスクリプトで、現地の言語で書式設定されます。 可能な場合は常に、一致条件と照合する語句を input パラメータ。
      • その他の住所はすべて、一致する単語が指定された後に優先言語で返されます input パラメータの語句と一致するように選択されています。名前が名前と一致しない場合、 最も近い言語が使用されている場合、API では最も近い言語が使用されます。
  • locationBias または locationRestriction

    locationBias または locationRestriction を指定できます。 両方ではなく、両方を指定して検索領域を定義します。locationRestriction は、 結果が属するリージョンと、locationBias を 結果を検索する地域を、この地域に近いが範囲外でもよい エリアです。

    • locationBias

      検索する領域を指定します。この場所はバイアスの原因となり 指定した場所周辺の検索結果(結果を含む)を返すことができます 移動します

    • locationRestriction

      検索する領域を指定します。指定領域外の検索結果は 返されます。

    locationBias リージョンまたは locationRestriction リージョンを または円として表示できます。

    • 円は、中心点と半径(メートル単位)で定義されます。半径は 0.0 ~ 50000.0(両端を含む)です。デフォルト値は 0.0 です。locationRestriction の場合、 半径は 0.0 より大きい値に設定する必要があります。それ以外の場合、リクエストは 一致する結果はありません。

      例:

      "locationBias": {
        "circle": {
          "center": {
            "latitude": 37.7937,
            "longitude": -122.3965
          },
          "radius": 500.0
        }
      }
    • 長方形は緯度 / 経度のビューポートで、 対角線の low とハイポイント。ビューポートは 境界を含みます。緯度境界 経度は -90 ~ 90 度の範囲で指定する必要があります。 -180 ~ 180 度の範囲にする必要があります。

      • low = high の場合、ビューポートはその単一点で構成されます。
      • low.longitude > の場合high.longitude、経度の範囲が反転します (ビューポートは 180 度の経度と交差します)。
      • low.longitude = -180 度、high.longitude = 180 度の場合、 ビューポートにはすべての経度が含まれます。
      • low.longitude = 180 度、high.longitude = -180 度の場合、 経度の範囲が空です。

      lowhigh の両方を入力し、表示されるボックス 空白にはできません。ビューポートが空の場合はエラーになります。

      たとえば、次のビューポートはニューヨーク市を完全に囲んでいます。

      "locationBias": {
        "rectangle": {
          "low": {
            "latitude": 40.477398,
            "longitude": -74.259087
          },
          "high": {
            "latitude": 40.91618,
            "longitude": -73.70018
          }
        }
      }
  • オリジン

    対象物までの直線距離を計算する原点 宛先(distanceMeters として返されます)。この値が 省略すると、直線距離は返されません。次のように指定する必要があります。 緯度と経度の座標:

    "origin": {
        "latitude": 40.477398,
        "longitude": -74.259087
    }
  • regionCode

    レスポンスのフォーマットに使用される地域コード。 ccTLD(「トップレベル ドメイン」) 使用できます。ほとんどの ccTLD コードは ISO 3166-1 コードと同一ですが、 いくつか例外がありますたとえば、英国の ccTLD は 「uk」(.co.uk)、ISO 3166-1 コードは「gb」(技術的には、 「グレート ブリテンおよび北アイルランド連合王国」という当事者である必要があります)。

    無効な地域コードを指定すると、API から INVALID_ARGUMENT が返されます。 エラーが発生します。このパラメータは、適用される法律に基づき、結果に影響する場合があります。

  • sessionToken

    セッション トークンは、予測入力を追跡するユーザー生成文字列です。 (新規)通話を「セッション」と呼びます。予測入力(新版)ではセッション トークンを使用して ユーザーの予測入力検索のクエリと選択フェーズを個別のセッションにグループ化し、 請求に使用されます。詳細については、次をご覧ください: セッション トークン

予測入力(新)の例

locationRestriction と locationBias を使用する

API では、デフォルトで IP バイアスを使用して検索領域を制御します。IP バイアスを使用すると、API は 結果にバイアスをかけるデバイスの IP アドレス。必要に応じて 検索する領域を指定するには、locationRestriction または locationBias(両方ではなく)を使用します。

locationRestriction には検索する領域を指定します。指定した地域外の結果 返されることはありません。次の例では、locationRestriction を使用して サンフランシスコを中心とする半径 5,000 m の円に対してリクエストします。

curl -X POST -d '{
  "input": "Amoeba",
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

指定された領域内のすべての結果が suggestions 配列に格納されます。

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "home_goods_store",
          "establishment",
          "store",
          "point_of_interest",
          "electronics_store"
        ]
      }
    }
  ]
}

locationBias では、場所はバイアスとして機能し、 指定した場所(指定した領域外の結果も含む)を返すことができます。次の たとえば、locationBias を使用するようにリクエストを変更します。

curl -X POST -d '{
  "input": "Amoeba",
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

結果には、半径 5, 000 m を超える結果など、さらに多くのアイテムが含まれるようになりました。

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "electronics_store",
          "point_of_interest",
          "store",
          "establishment",
          "home_goods_store"
        ]
      }
    },
    {
      "placePrediction": {
        "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw",
        "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw",
        "text": {
          "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Telegraph Avenue, Berkeley, CA, USA"
          }
        },
        "types": [
          "electronics_store",
          "point_of_interest",
          "establishment",
          "home_goods_store",
          "store"
        ]
      }
    },
    ...
  ]
}

含まれている PrimaryTypes を使用する

includedPrimaryTypes パラメータを使用して、最大 5 つの型の値を テーブル A テーブル B (regions) のみ、(cities) のみのいずれかを指定できます。場所は、指定されたいずれかの プライマリ タイプの値を指定します。

次の例では、次の input 文字列を指定します。 "サッカー"includedPrimaryTypes パラメータを使用して、結果を "sporting_goods_store" タイプの施設:

curl -X POST -d '{
  "input": "Soccer",
  "includedPrimaryTypes": ["sporting_goods_store"],
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

includedPrimaryTypes パラメータを省略すると、結果に 除外したいタイプの施設("athletic_field" など)。

クエリ予測をリクエストする

デフォルトでは、クエリ予測は返されません。includeQueryPredictions を使用する リクエスト パラメータを使用して、レスポンスにクエリ予測を追加します。例:

curl -X POST -d '{
  "input": "Amoeba",
  "includeQueryPredictions": true,
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

suggestions 配列に場所の予測とクエリの予測の両方が含まれるようになりました 上記の回答についてをご覧ください。各クエリの予測 推奨されるテキスト検索文字列を含む text フィールドが含まれています。新しい テキスト検索(新版) 返されたクエリ予測の詳細情報を取得できます。

オリジンを使用

この例では、リクエストに緯度と経度の座標として origin が含まれています。 origin を追加すると、API の distanceMeters フィールドが レスポンスには、origin から目的地までの直線距離が含まれます。 次の例では、原点をサンフランシスコの中心に設定しています。

curl -X POST -d '{
  "input": "Amoeba",
  "origin": {
    "latitude": 37.7749,
    "longitude": -122.4194
  },
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

レスポンスに distanceMeters が含まれるようになりました。

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "home_goods_store",
          "establishment",
          "point_of_interest",
          "store",
          "electronics_store"
        ],
        "distanceMeters": 3012
      }
    }
  ]
}

試してみよう:

API Explorer を使用すると、サンプル リクエストを作成して、 API と API オプションに慣れることができます。

  1. API アイコン API Explorer を開きます。 を選択します。 。
  2. 必要に応じて [標準パラメータを表示] を展開し、次のように設定します。 fields パラメータ フィールド マスクに追加します。
  3. 必要に応じて、[Request body] を編集します。
  4. [Execute] ボタンを選択します。ポップアップで、リクエストに使用するアカウントを選択します。
  5. [API Explorer] パネルで、展開アイコンを選択します。 API Explorer を開きます。: API Explorer ウィンドウを展開します。