Nearby Search(新規)

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

Nearby Search(新版)リクエストは 緯度と経度で定義された円として指定された検索対象 円の中心点の座標と半径(メートル単位)。「 リクエストは、一致する場所のリストを返します。各場所は Place オブジェクトです。

デフォルトでは、レスポンスには検索領域内のすべてのタイプの場所が含まれます。 レスポンスをフィルタすることもできます。その場合、目的の場所タイプのリストを指定して、 明示的に含めるか除外するかを指定できます。たとえば、 レスポンスに「レストラン」タイプの場所のみを含めることができます。 「パン屋」や「カフェ」などを検索するか、「学校」タイプの場所をすべて除外することもできます。

Nearby Search(新版)リクエスト

Nearby Search(新版)のリクエストを行うには PlacesClient.searchNearby 渡す SearchNearbyRequest リクエスト パラメータを定義するオブジェクトです。

SearchNearbyRequest オブジェクトでは、必須および省略可能なすべての パラメータを指定します。必須パラメータは次のとおりです。

  • Place オブジェクトで返されるフィールドのリスト。 指定する必要があります。フィールド リストでフィールドを 1 つも指定しなかった場合、または フィールド リストを省略すると、呼び出しからエラーが返されます。
  • 検索エリアの位置情報制限。 緯度と経度のペアと半径の値(メートル単位)。

この例の付近の検索リクエストでは、レスポンスの Place オブジェクトを指定しています。 それぞれに場所フィールド Place.Field.IDPlace.Field.NAME が格納されている Place オブジェクト。さらに、レスポンスをフィルタして、 タイプ「restaurant」の場所を返す「cafe」と検索し、次のタイプの場所は除外します 「ピザレストラン」“american_restaurant”です

// Define a list of fields to include in the response for each returned place.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME);

// Define the search area as a 1000 meter diameter circle in New York, NY.
LatLng center = new LatLng(40.7580, -73.9855);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 1000);

// Define a list of types to include.
final List<String> includedTypes = Arrays.asList("restaurant", "cafe");
// Define a list of types to exclude.
final List<String> excludedTypes = Arrays.asList("pizza_restaurant", "american_restaurant");

// Use the builder to create a SearchNearbyRequest object.
final SearchNearbyRequest searchNearbyRequest =
SearchNearbyRequest.builder(/* location restriction = */ circle, placeFields)
    .setIncludedTypes(includedTypes)
    .setExcludedTypes(excludedTypes)
    .setMaxResultCount(10)
    .build());

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

Nearby Search(新版)の回答

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

  • 一致するすべての場所を表す Place オブジェクトのリスト。1 つは 一致する場所ごとに Place オブジェクト。
  • Place オブジェクトには、フィールド リストで定義されたフィールドのみが含まれます。 渡されます。

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

// Define a list of fields to include in the response for each returned place.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME);

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

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

必須パラメータ

こちらの SearchNearbyRequest オブジェクトを使用して、検索の必須パラメータを指定します。

  • フィールド リスト

    Place Details をリクエストする場合、 フィールド マスクとしての場所の Place オブジェクト。フィールド マスクを定義するには、 値の配列: Place.Field SearchNearbyRequest オブジェクトに追加します。フィールド マスキングは、アプリケーションの 不要なデータをリクエストしないようにできます。これにより、 無駄な処理時間や料金が発生しません

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

    • 以下のフィールドで、Nearby Search (基本) 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.ID, Place.Field.NAME, Place.Field.TYPES, Place.Field.UTC_OFFSET, Place.Field.VIEWPORT, Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
    • 以下のフィールドで、Nearby Search (上級) 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
    • 以下のフィールドで、Nearby Search (推奨) 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

    フィールド リスト パラメータを設定するには、 setPlaceFields() SearchNearbyRequestメソッドを使用します

    次の例では、2 つのフィールド値のリストを定義して、 リクエストによって返される Place オブジェクトには、Place.Field.ID が含まれます。 Place.Field.NAME フィールド:

// Define a list of fields to include in the response for each returned place.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME);
  • 地域の制限

    LocationRestriction このオブジェクトでは、検索する地域を円として指定します。 メートル単位で指定します。半径は より大きい値にする必要があります 0.0 以下 50000.0 という数値です。小さすぎる半径を指定すると、 レスポンスとして ZERO_RESULTS を返します。

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

オプション パラメータ

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

  • タイプとプライマリ タイプ

    次の型から型のリストを指定できます。 テーブル A をフィルタに使用する 表示されます。各タイプ制限のカテゴリで最大 50 個のタイプを指定できます。

    1 つの場所には、タイプの中から 1 つのメインタイプのみを指定できます。 テーブル A が関連付けられています。 できます。たとえば、主要な種類が "mexican_restaurant" または "steak_house"。使用 includedPrimaryTypesexcludedPrimaryTypes: 結果をフィルタリングする メインタイプを指定します

    場所には、タイプの複数のタイプ値を含めることもできます。 表 A 関連付けられていますたとえば、レストランには次のタイプがあります。 "seafood_restaurant" さん、"restaurant" さん、"food" さん、 "point_of_interest""establishment"includedTypes を使用する excludedTypes は、関連付けられたタイプのリストで結果をフィルタリングします。 できます。

    一般的なプライマリ タイプを指定する場合(例: "restaurant") または "hotel" の場合、レスポンスには、 タイプを指定できません。たとえば、 "restaurant" のプライマリ タイプが含まれている。レスポンスは メインタイプが "restaurant" の場所が含まれますが、 レスポンスには、より具体的な "chinese_restaurant" または "seafood_restaurant"

    複数のタイプ制限を指定して検索を指定した場合は、 すべての制限を満たすものが返されますたとえば includedTypes = Arrays.asList("restaurant")excludedPrimaryTypes = Arrays.asList("steak_house")、 過去に検索した場所では "restaurant" に関する関連サービスを提供していますが、主な業務は扱っていません "steak_house" として。

    includedTypesexcludedTypes の使用例については、以下をご覧ください。 Nearby Search(新版)のリクエスト

    含まれるタイプ

    リストに含まれる場所タイプのリスト 検索する Table A。 このパラメータを省略すると、すべてのタイプの場所が返されます。

    含まれるタイプ パラメータを設定するには、SearchNearbyRequest オブジェクトの作成時に setIncludedTypes() メソッドを呼び出します。

    除外されたタイプ

    場所タイプのリスト: 除外するテーブル A できます。

    includedTypes"school" など)と リクエスト内で excludedTypes"primary_school" など)である場合、 "school" に分類されますが、 "primary_school"。レスポンスには、次の少なくとも 1 つに一致する場所が含まれます。 includedTypes のみが含まれ、excludedTypesなし

    タイプが競合する場合(例: 両方に指定されているタイプ)includedTypes excludedTypes の場合は、INVALID_REQUEST エラーが返されます。

    除外タイプのパラメータを設定するには、SearchNearbyRequest オブジェクトの作成時に setExcludedTypes() メソッドを呼び出します。

    含まれるプライマリ タイプ

    参照元に含まれる主要な場所タイプのリスト 含めるテーブル A

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

    除外するメインのタイプ

    参照元に含まれる主要な場所タイプのリスト 除外する表 A 表示されます。

    競合する主要なタイプがある場合(例: 両方に使用されているタイプ) includedPrimaryTypesexcludedPrimaryTypes INVALID_ARGUMENT エラーが返されます。

    除外されるプライマリ タイプのパラメータを設定するには、SearchNearbyRequest オブジェクトの作成時に setExcludedPrimaryTypes() メソッドを呼び出します。

  • 結果の最大数

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

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

  • ランク付けの設定

    使用するランキングのタイプ。このパラメータを省略すると、検索結果は人気順でランク付けされます。 次のいずれかになります。

    • POPULARITY(デフォルト)人気度に基づいて検索結果を並べ替えます。
    • DISTANCE からの距離に基づいて昇順で結果を並べ替えます。 表示されます。

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

  • 地域コード

    レスポンスのフォーマットに使用される地域コード。 <ph type="x-smartling-placeholder"></ph> 2 文字の CLDR コードの値。デフォルト値はありません。

    レスポンスの formattedAddress フィールドの国名が regionCode の場合、国コードは formattedAddress から省略されます。

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

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

アプリに属性を表示する

以下から取得した情報をアプリが表示するタイミング PlacesClient 必要な帰属情報も表示する必要があります。

詳しくは、Places SDK for Android