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

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

予測入力(新版)は、次の場所で予測された場所を返します。 テキスト検索文字列と地理的境界を含むリクエストに対するレスポンス 検索範囲を設定します予測入力が一致する 入力の単語や部分文字列だけに基づいて、場所の名前、住所、 plus code。アプリケーションは ユーザーの入力に応じて、場所やクエリの候補をその場で提供します。

たとえば、予測入力を呼び出し、入力として 検索領域に部分的なユーザー入力「Sicilian piz」を含む文字列 カリフォルニア州サンフランシスコに限定されます。レスポンスには場所のリストが含まれます。 検索文字列と検索領域(レストランなど)に一致する候補。 名前は“Sicilian Pizza Kitchen”です

返される場所の候補は、ユーザーが簡単に情報を確認できるように ユーザーが目的の場所を選択できるようにします。Place Details を作成して (新規)追加リクエスト 返された場所予測のいずれかについての情報を含んでいます。

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

アプリは、予測される場所の名前や場所のリストを取得できます。 予測入力 API から PlacesClient.findAutocompletePredictions(), 渡す FindAutocompletePredictionsRequest 渡されます。以下の例は、API 呼び出しの完全な呼び出しを示しています。 PlacesClient.findAutocompletePredictions().

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();
LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);
final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Sicilian piz")
            .setRegionCode("ES")
            .setLocationRestriction(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );
<ph type="x-smartling-placeholder">

予測入力(新)の回答

API は FindAutocompletePredictionsResponse Task. 「 FindAutocompletePredictionsResponse 各要素には最大 5 つの AutocompletePrediction 予測された場所を表すオブジェクトです。見つからない場合、このリストは空になります。 既知の場所が返されます。

予測された場所ごとに、次のメソッドを呼び出して場所を取得できます。 詳細:

  • getFullText(CharacterStyle) は、場所の説明の全文を返します。これは次の組み合わせです: テキストを入力します例: 「エッフェル塔、アベニュー アナトール フランス、 パリ、フランス」)。また、この方法では、 選択したスタイルで検索と一致する説明を CharacterStyle. CharacterStyle パラメータは省略可能です。不要な場合は null に設定します。 ハイライト表示されます。
  • getPrimaryText(CharacterStyle) は、場所を説明するメインのテキストを返します。これは通常 できます。例: 「エッフェル塔」、「ピット通り 123」
  • getSecondaryText(CharacterStyle) は、場所の説明の子会社のテキストを返します。これは たとえば、予測入力候補を表示するときに 2 行目として表示されます。例: 「Avenue Anatole France, Paris, France」、「Sydney, New South Wales」。
  • getPlaceId() 予測される場所のプレイス ID を返します。プレイス ID はテキスト プレイスを一意に識別する ID です。この ID を使用して、 Place 後ほど説明します。プレイス ID について詳しくは、 予測入力(Place Details を参照) (新規)。一般的な 詳細情報については、プレイス ID 概要をご覧ください。
  • getTypes() この場所に関連付けられている場所タイプのリストを返します。
  • getDistanceMeters() この場所と場所の間の直線距離をメートル単位で返します。 リクエストで指定されたオリジン。

必須パラメータ

  • クエリ

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

    クエリ パラメータを設定するには、setQuery() を呼び出します。 メソッドを使用します。FindAutocompletePredictionsRequest

オプション パラメータ

  • 主な種類

    型の最大 5 つの型の値のリスト テーブル A またはテーブル B レスポンスで返される場所をフィルタリングするために使用します。 場所がレスポンスに含まれるには、指定されたメインのタイプの値のいずれかと一致する必要があります。

    1 つの場所に設定できるメインタイプは、タイプのうち 1 つのみです。 テーブル A またはテーブル B を できます。たとえば、プライマリ タイプは "mexican_restaurant" または "steak_house"

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

    • 6 つ以上のタイプが指定されている。
    • 認識されないタイプが指定されています。

    メインの types パラメータを設定するには、setTypesFilter() を呼び出します。 メソッドを使用します。FindAutocompletePredictionsRequest

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

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

    country パラメータを設定するには、setCountries() を呼び出します。 メソッドを使用します。FindAutocompletePredictionsRequest

  • 入力オフセット

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

    入力オフセット パラメータを設定するには、setInputOffset() を呼び出します。 メソッドを使用します。FindAutocompletePredictionsRequest

  • 地域のバイアスまたは地域の制限

    地域のバイアスや地域制限を指定できます 両方ではなく、両方を指定して検索領域を定義します。ロケーション制限は、 結果が含まれる必要がある地域、場所のバイアス 結果を返す必要があるリージョンを指定します。主な違いは 指定した地域外の結果が返される場合があります。

    • 場所のバイアス

      検索する領域を指定します。この場所は制限ではなくバイアスとして機能するため、結果 返される場合があります。

      場所のバイアス パラメータを設定するには、setLocationBias() を呼び出します。 メソッドを使用します。FindAutocompletePredictionsRequest

    • 地域の制限

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

      ロケーション制限パラメータを設定するには、setLocationRestriction() を呼び出します。 メソッドを使用します。FindAutocompletePredictionsRequest

    地域のバイアスまたは地域制限の地域を または円として表示できます。

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

    • 長方形は緯度 / 経度のビューポートで、 対角線上に low ポイントと high ポイント。ビューポートは 境界を含みます。緯度境界 経度は -90 ~ 90 度の範囲で指定する必要があります。 -180 ~ 180 度の範囲にする必要があります。

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

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

  • 出発地

    対象物までの直線距離を計算する原点 デスティネーション(getDistanceMeters() を使用してアクセス)この値が 省略すると、直線距離は返されません。次のように指定する必要があります。 緯度と経度の座標:

    オリジン パラメータを設定するには、setOrigin() を呼び出します。 メソッドを使用します。FindAutocompletePredictionsRequest

  • 地域コード

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

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

    地域コード パラメータを設定するには、setRegionCode() を呼び出します。 メソッドを使用します。FindAutocompletePredictionsRequest

  • セッション トークン

    セッション トークンはユーザーが生成した文字列で、 予測入力(新版)の通話は「セッション」として表示されます。予測入力では、セッション トークンを使用して ユーザーの予測入力検索のクエリと選択フェーズを個別のセッションにグループ化し、 請求に使用されます。セッションは ユーザーが検索語句の入力を開始し、場所を選択すると完了する。セッションごと には複数のクエリを記述し、その後に 1 つの場所を選択します。セッションが トークンが無効になった場合。新しいトークンを生成する必要があります。 獲得できますすべてのプログラマティック取引では 予測入力セッション(フラグメントを埋め込んだ場合、または API が自動的に処理します)。

    予測入力では、 AutocompleteSessionToken 各セッションを特定しますアプリは新しいセッション トークンを 新しいセッションを開始するたびに、同じトークンを場所 ID とともに渡します。 後続の fetchPlace() の呼び出し ユーザーが選択した場所の Place Details を取得する。

    セッション トークン パラメータを設定するには、setSessionToken() を呼び出します。 メソッドを使用します。FindAutocompletePredictionsRequest

    詳細については、次をご覧ください: セッション トークン

予測入力(新)の例

地域の制限と地域のバイアスを使用する

予測入力(新版)ではデフォルトで IP バイアスが使用されます。 検索範囲を設定します。IP バイアスを設定すると、API は バイアスをかけることができます必要に応じて、location 制限または地域のバイアスに該当するものの、 検索する領域を指定します。

地域の制限では、検索する地域を指定します。指定範囲外の結果 領域は返されません。次の例では、ロケーション制限を使用して、リクエストを サンフランシスコを中心とする半径 5,000 m の円形の地域制限:

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Amoeba")
            .setLocationRestriction(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

場所のバイアスを使用すると 場所のバイアスとして機能し 指定した場所(指定した場所以外を含む)を返すことができます エリアです。次の例では、位置バイアスを使用するように前のリクエストを変更します。

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Amoeba")
            .setLocationBias(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

プライマリ タイプを使用する

primary types パラメータを使用して、 特定のタイプをリクエストする必要があります。詳しくは、表 ATable B.このように 最大 5 つの値の配列。省略すると、すべての型が返されます。

次の例では、「Soccer」というクエリ文字列が指定されていますプライマリと 検索結果を次のタイプの施設に制限する types パラメータ "sporting_goods_store":

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

final List<Place.Field> primaryTypes = Arrays.asList("sporting_goods_store");

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Soccer")
            .setIncludedPrimaryTypes(primaryTypes)
            .setLocationBias(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

主要タイプ パラメータを省略すると、結果に施設が含まれる可能性があります。 不要な型の("athletic_field" など)。

オリジンを使用

リクエストに origin パラメータを含めた場合、 緯度と経度の座標。API には直線距離、 レスポンスの送信元から送信先まで( getDistanceMeters()). 次の例では、原点をサンフランシスコの中心に設定しています。

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Amoeba")
            .setOrigin(center)
            .setLocationRestriction(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

帰属表示

予測入力(新版)は地図がなくても使用できます。条件 地図を表示する場合は Google マップにします予測を表示するときに、 予測入力(新版)サービスで地図がない場合、 検索フィールドまたは検索結果の横に Google ロゴをインライン表示する。対象 詳しくは、Google ロゴと 帰属表示をご覧ください。