テキスト検索(新版)

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

テキスト検索(新版)は、一連のテキスト検索の結果を返します。 文字列に基づく場所(「渋谷 ピザショップ」など)または「靴屋」 近所のオタワ」「123 Main Street」など)。このサービスは、場所のリストを返します。 テキスト文字列と、設定されている場所のバイアスを照合します。

このサービスは特に、あいまいな住所を特定するのに役立ちます。 自動システムでクエリを実行する場合、 および住所以外の部分がビジネスだけでなく、 あります。あいまいな住所のクエリの例: 形式が不適切な住所 ビジネス名などの住所以外の要素が含まれるリクエスト。リクエスト数 最初の 2 つの例のように、場所を指定しなければ結果が返されない場合があります。 (地域、場所の制限、場所のバイアスなど)が設定されていることを確認します。

テキスト検索(新版)はNearby Search (新規)。主な 違いは、テキスト検索(新版)です。 では任意の検索文字列を指定できますが、Nearby Search(新版)では 検索対象領域を指定します

「東京都渋谷区渋谷 3-21-3」または「123 Main Street, US」 英国内の複数の「ハイ ストリート」米国の場合は複数の「Main Street」が存在します。 地域制限を指定しないと、クエリは望ましい結果を返さない あります。
「チェーンレストラン ニューヨーク」 複数の「チェーンレストラン」ニューヨークにある番地がない、または 識別します
「東京都港区北青山 4-20-3」または「123 Main Street, Pleasanton US」 「High Street」は 1 つだけです英国のエッシャー市に拠点を置く「Main Street」を 1 つだけ カリフォルニア州プレザントン市に拠点を置く組織です
「UniqueRestaurantName New York」 ニューヨークでこの名前の施設が 1 つのみである番地なし 考慮する必要があります
「東京のピザレストラン」 このクエリには、場所の制限と「ピザレストラン」が含まれています。 明確に定義された場所タイプです複数の結果が返されます。
「+1 514-670-8700」

このクエリには電話番号が含まれています。次のキーワードに対して複数の結果が返されます。 場所が表示されます。

Text Search リクエスト

Text Search リクエストの形式は、次のとおりです。

// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME);

// Define latitude and longitude coordinates of the search area.
LatLng southWest = new LatLng(37.38816277477739, -122.08813770258874);
LatLng northEast = new LatLng(37.39580487866437, -122.07702325966572);

// Use the builder to create a SearchByTextRequest object.
final SearchByTextRequest searchByTextRequest = SearchByTextRequest.builder("Spicy Vegetarian Food", placeFields)
  .setMaxResultCount(10)
  .setLocationRestriction(RectangularBounds.newInstance(southWest, northEast)).build();

// Call PlacesClient.searchByText() to perform the search.
// Define a response handler to process the returned List of Place objects.
placesClient.searchByText(searchByTextRequest)
    .addOnSuccessListener(response -> {
      List<Place> places = response.getPlaces();
    });

この例では、次の操作を行います。

  • Place.Field.IDPlace.Field.NAME のみを含むようにフィールド リストを設定します。 つまり、それぞれの一致を表すレスポンスの Place オブジェクトによって、 これら 2 つのフィールドのみを含めます

  • SearchByTextRequest.Builder を使用する 作成してみましょう。 SearchByTextRequest 検索を定義するオブジェクトです。

    • テキストクエリ文字列を「スパイシー ベジタリアン フード」に設定します。

    • 検索結果の場所の最大数を 10 に設定します。デフォルト値と 最大 20 個です

    • 検索範囲を緯度と経度で定義された長方形に限定します。 経度座標。この領域外での一致は返されません。

  • OnSuccessListener を追加し、一致する場所を SearchByTextResponse 渡されます。

Text Search のレスポンス

SearchByTextResponse クラスは、検索リクエストに対するレスポンスを表します。SearchByTextResponse オブジェクトには次のものが含まれます。

  • 一致するすべての場所を表す Place オブジェクトのリスト。1 つは 一致する場所ごとに Place オブジェクト。

  • Place オブジェクトには、フィールド リストで定義されたフィールドのみが含まれます。 渡されます。

たとえば、このリクエストではフィールド リストを次のように定義しました。

// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME);

このフィールド リストは、レスポンスの各 Place オブジェクトに 一致する各場所のプレイス ID と名前。その後、Place.getId() を使用できます。 および Place.getName() メソッドを使用すると、各 Place オブジェクトでこれらのフィールドにアクセスできます。

Place オブジェクト内のデータにアクセスするその他の例については、場所にアクセスする オブジェクト データ フィールド

必須パラメータ

必須のパラメータは SearchByTextRequest 次のとおりです。

  • フィールド リスト

    返すプレイスデータ フィールドを指定します。リストを渡す Place.Field 返すデータ フィールドを指定する値。デフォルトのリストはありません。 レスポンスで返されるフィールド。

    フィールド リストを設計することをおすすめします。これにより、 保存し、不要な処理時間を回避して、 請求料金を管理できます。

    次のフィールドを 1 つ以上指定します。

    • 次のフィールドで Text Search(ID のみ)SKU がトリガーされます。

      Place.Field.ID, Place.Field.NAME
    • 次のフィールドで Text Search(Basic)SKU がトリガーされます。

      Place.Field.ADDRESS_COMPONENTS, Place.Field.BUSINESS_STATUS, Place.Field.ADDRESS, Place.Field.ICON_BACKGROUND_COLOR, Place.Field.ICON_URL, Place.Field.LAT_LNG, Place.Field.PHOTO_METADATAS, Place.Field.PLUS_CODE, Place.Field.TYPES, Place.Field.UTC_OFFSET, Place.Field.VIEWPORT, Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
    • 次のフィールドで Text Search(Advanced)SKU がトリガーされます。

      Place.Field.CURRENT_OPENING_HOURS, Place.Field.SECONDARY_OPENING_HOURS, Place.Field.PHONE_NUMBER, Place.Field.PRICE_LEVEL, Place.Field.RATING, Place.Field.OPENING_HOURS, Place.Field.USER_RATINGS_TOTAL, Place.Field.WEBSITE_URI
    • 次のフィールドで Text Search(Preferred)SKU がトリガーされます。

      Place.Field.CURBSIDE_PICKUP, Place.Field.DELIVERY, Place.Field.DINE_IN, Place.Field.EDITORIAL_SUMMARY, Place.Field.RESERVABLE, Place.Field.REVIEWS, Place.Field.SERVES_BEER, Place.Field.SERVES_BREAKFAST, Place.Field.SERVES_BRUNCH, Place.Field.SERVES_DINNER, Place.Field.SERVES_LUNCH, Place.Field.SERVES_VEGETARIAN_FOOD, Place.Field.SERVES_WINE, Place.Field.TAKEOUT

    フィールド リスト パラメータを設定するには、SearchByTextRequest オブジェクトの作成時に setPlaceFields() メソッドを呼び出します。

  • テキストクエリ

    検索するテキスト文字列(例: 「レストラン」)。 「東京都渋谷区渋谷 3-21-3」、API この文字列に基づいて一致する候補を返し、その結果を並べ替えます。 パフォーマンス指標です

    テキスト クエリ パラメータを設定するには、SearchByTextRequest オブジェクトの作成時に setTextQuery() メソッドを呼び出します。

オプション パラメータ

こちらの SearchByTextRequest オブジェクトを使用して、リクエストのオプション パラメータを指定します。

  • 含まれるタイプ

    指定したタイプに一致する場所のみを表示します。 表 A. 1 つのタイプのみ指定できます。例:

    • setIncludedType("bar")
    • setIncludedType("pharmacy")

    組み込まれる型パラメータを設定するには、SearchByTextRequest オブジェクトの作成時に setIncludedType() メソッドを呼び出します。

  • 場所のバイアス

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

    地域制限または場所のバイアスを指定できます 両方はできませんロケーション制限は、 結果が含まれている必要がある地域、 場所のバイアスは 結果を検索する地域を、この地域に近いが範囲外でもよい エリアです。

    領域を長方形のビューポートまたは円として指定します。

    • 円は、中心点と半径(メートル単位)で定義されます。半径 0.0 ~ 50000.0 の範囲で指定してください。 例:

      // Define latitude and longitude coordinates of the center of the search area.
      LatLng searchCenter = new LatLng(37.38816277477739, -122.08813770258874);
      
      // Use the builder to create a SearchByTextRequest object.
      // Set the radius of the search area to 500.0 meters.
      final SearchByTextRequest searchByTextRequest = SearchByTextRequest.builder("Spicy Vegetarian Food", placeFields)
        .setMaxResultCount(10)
        .setLocationBias(CircularBounds.newInstance(searchCenter, 500.0)).build();
      
    • 長方形は緯度 / 経度のビューポートで、 低点と高点が対角線上にあります。低い地点は南西です 頂点は北東を表します 決定します

      ビューポートは 境界を含みます。緯度境界 経度は -90 ~ 90 度の範囲で指定する必要があります。 -180 ~ 180 度の範囲にする必要があります。

      • low = high の場合、ビューポートは次の要素で構成されます。 実現できます。
      • low.longitude > の場合high.longitude、 経度の範囲が反転します(ビューポートが 180 度を横断します)。 。
      • low.longitude = -180 度、かつ high.longitude = 180 度(ビューポートにすべてを含む) 選択します
      • low.longitude = 180 度、かつ high.longitude = -180 度、経度範囲 空です。
      • low.latitude > の場合high.latitude、 緯度の範囲が空です。

      低と高の両方に入力する必要があり、表されるボックスは入力できません。 空です。ビューポートが空の場合はエラーになります。

      たとえば長方形のビューポートは Text Search リクエスト

      位置バイアス パラメータを設定するには、SearchByTextRequest オブジェクトの作成時に setLocationBias() メソッドを呼び出します。

  • 地域の制限

    検索する領域を指定します。指定領域外の検索結果は 返されます。領域を長方形のビューポートとして指定します。説明を見る 場所のバイアス をご覧ください。

    地域制限または場所のバイアスを指定できます 両方はできませんロケーション制限は、 結果が含まれている必要がある地域、 場所のバイアスは 検索結果は、この地域に近いが範囲外でもよい エリアです。

    ロケーション制限パラメータを設定するには、SearchByTextRequest オブジェクトの作成時に setLocationRestriction() メソッドを呼び出します。

  • 結果の最大数

    返されるプレイス結果の最大数を指定します。範囲内で指定してください 1 ~ 20(デフォルト)で指定します。

    最大結果数パラメータを設定するには、SearchByTextRequest オブジェクトの作成時に setMaxResultCount() メソッドを呼び出します。

  • 評価の下限

    ユーザーの平均評価が この上限以下になります値は 0.0 ~ 5.0 の範囲で指定してください。 0.5 単位で指定します。例: 0、0.5、1.0、...、5.0。値は次のとおりです。 0.5 単位で切り上げられますたとえば、値を 0.6 にすると、すべての 1.0 未満にします。

    最低評価パラメータを設定するには、SearchByTextRequest オブジェクトの作成時に setMinRating() メソッドを呼び出します。

  • 営業中

    true の場合は、営業中の場所のみを返します クエリが送信されたときに表示されますfalse の場合は、すべてのビジネスが返されます。 オープンステータスに関係なく Google プレイスのデータベースに営業時間が記載されていない場所は、次のようになります。 このパラメータを false に設定した場合に返されます。

    open now パラメータを設定するには、SearchByTextRequest オブジェクトの作成時に setOpenNow() メソッドを呼び出します。

  • 価格レベル

    デフォルトでは、すべての価格帯でサービスを提供する場所が結果に含まれます。制限するには 特定の料金レベルの場所のみを含めるには、 返す場所の価格レベルに対応する整数値:

    • 1 - 安価なサービスを提供しています。
    • 2 - 手ごろな料金でサービスを提供しています。
    • 3 - 高価なサービスを提供している。
    • 4 - 非常に高額なサービスを提供している。

    価格レベル パラメータを設定するには、SearchByTextRequest オブジェクトの作成時に setPriceLevels() メソッドを呼び出します。

  • ランク付けの設定

    次のタイプに基づいてレスポンス内の結果のランク付け方法を指定します。 query:

    • 「ニューヨーク市のレストラン」のようなカテゴリクエリでは デフォルトは SearchByTextRequest.RankPreference.RELEVANCE(検索の関連性によるランク付け)です。 ランク設定を SearchByTextRequest.RankPreference.RELEVANCE または SearchByTextRequest.RankPreference.DISTANCE(距離で結果をランク付けする)
    • 「Mountain View, CA」のようなカテゴリーではないクエリの場合は、 ランク設定パラメータを未設定のままにした場合です。

    ランク設定パラメータを設定するには、SearchByTextRequest オブジェクトの作成時に setRankPreference() メソッドを呼び出します。

  • 地域コード

    レスポンスのフォーマットに使用される地域コード。 <ph type="x-smartling-placeholder"></ph> 2 文字の CLDR コードの値。このパラメータはバイアス効果をもたらすことも 表示されます。デフォルト値はありません。

    レスポンスの住所フィールドの国名が 地域コードは、住所から省略されます。

    ほとんどの CLDR コードは ISO 3166-1 コードと同一です。 いくつか例外がありますたとえば、英国の ccTLD は 「uk」(.co.uk)、ISO 3166-1 コードは「gb」(技術的には、 「グレート ブリテンおよび北アイルランド連合王国」という当事者である必要があります)。 このパラメータは、適用される法律に基づき、結果に影響する場合があります。

    地域コード パラメータを設定するには、SearchByTextRequest オブジェクトの作成時に setRegionCode() メソッドを呼び出します。

  • 厳密な型フィルタリング

    include 型パラメータとともに使用します。[ true、指定したタイプに一致する場所のみ 返されます。 false(デフォルト)の場合、レスポンスには、 指定したタイプと一致しません。

    厳密な型フィルタリング パラメータを設定するには、SearchByTextRequest オブジェクトの作成時に setStrictTypeFiltering() メソッドを呼び出します。