Nearby Search(新版)リクエストは
緯度と経度で定義された円として指定された検索対象
円の中心点の座標と半径(メートル単位)。「
リクエストは、一致する場所のリストを返します。各場所は
Place
オブジェクトです。
デフォルトでは、レスポンスには検索領域内のすべてのタイプの場所が含まれます。 レスポンスをフィルタすることもできます。その場合、目的の場所タイプのリストを指定して、 明示的に含めるか除外するかを指定できます。たとえば、 レスポンスに「レストラン」タイプの場所のみを含めることができます。 「パン屋」や「カフェ」などを検索するか、「学校」タイプの場所をすべて除外することもできます。
Nearby Search(新版)リクエスト
Nearby Search(新版)のリクエストを行うには
PlacesClient.searchNearby
渡す
SearchNearbyRequest
リクエスト パラメータを定義するオブジェクトです。
SearchNearbyRequest
オブジェクトでは、必須および省略可能なすべての
パラメータを指定します。必須パラメータは次のとおりです。
Place
オブジェクトで返されるフィールドのリスト。 指定する必要があります。フィールド リストでフィールドを 1 つも指定しなかった場合、または フィールド リストを省略すると、呼び出しからエラーが返されます。- 検索エリアの位置情報制限。 緯度と経度のペアと半径の値(メートル単位)。
この例の付近の検索リクエストでは、レスポンスの Place
オブジェクトを指定しています。
それぞれに場所フィールド Place.Field.ID
と Place.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"
。使用includedPrimaryTypes
とexcludedPrimaryTypes
: 結果をフィルタリングする メインタイプを指定します場所には、タイプの複数のタイプ値を含めることもできます。 表 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"
として。includedTypes
とexcludedTypes
の使用例については、以下をご覧ください。 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 表示されます。
競合する主要なタイプがある場合(例: 両方に使用されているタイプ)
includedPrimaryTypes
とexcludedPrimaryTypes
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。