特定の施設やスポットの詳細情報をリクエストするには、プレイス ID を使用して、Place Details(新版)のリクエストを行います。Place Details(新版)は、完全な住所、電話番号、ユーザーの評価、クチコミなど、指定された場所に関するより包括的な情報を返します。
プレイス ID はさまざまな方法で取得できます。次を使用できます。
Place Details (New) リクエスト
場所の詳細をリクエストするには、PlacesClient.fetchPlace()
を呼び出し、プレイス ID、フィールド リスト、省略可能なパラメータを含む FetchPlaceRequest
オブジェクトを渡します。
// Define a place ID.
final String placeId = "INSERT_PLACE_ID_HERE";
// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList("INSERT_PLACE_FIELDS_HERE");
// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);
// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);
Place Details(新)レスポンス
Place Details(新版)は、Place
オブジェクトの形式でデータを返します。このオブジェクトには、フィールド リストを使用してリクエストしたフィールドのみが含まれます。プレイスデータの結果を空にすることはできないため、データのある場所の結果のみが返されます(たとえば、リクエストされた場所に写真がない場合、フォトのフィールドは結果に含まれません)。
データ フィールドにアクセスするには、対応するメソッドを呼び出します。たとえば、場所の名前にアクセスするには、getName()
を呼び出します。
必須パラメータ
FetchPlaceRequest
の必須パラメータは次のとおりです。
-
場所 ID
場所を一意に識別するテキスト ID。テキスト検索(新版)、Nearby Search(新版)、または予測入力(新版)から返されます。プレイス ID について詳しくは、プレイス ID の概要をご覧ください。
-
フィールド リスト
場所をリクエストするときは、返す場所データを指定する必要があります。これを行うには、返すデータを指定する
Place.Field
値のリストを渡します。レスポンスで返されるフィールドのデフォルトのリストはありません。フィールド リストは、不要なデータをリクエストしないようにするための優れた設計プラクティスです。これにより、不要な処理時間と請求料金を回避できます。このリストは、各リクエストのコストに影響するため、重要な考慮事項です。詳細については、使用量と課金をご覧ください。
次のフィールドを 1 つ以上指定します。
次のフィールドによって Place Details(ID のみ)SKU がトリガーされます。
Place.Field.ID
、Place.Field.NAME
、Place.Field.PHOTO_METADATAS
次のフィールドで Place Details(場所のみ)SKU がトリガーされます。
Place.Field.ADDRESS_COMPONENTS
、Place.Field.ADDRESS
、Place.Field.LAT_LNG
、Place.Field.PLUS_CODE
、Place.Field.TYPES
、Place.Field.VIEWPORT
以下のフィールドで Place Details(Basic)SKU がトリガーされます。
Place.Field.BUSINESS_STATUS
、Place.Field.ICON_BACKGROUND_COLOR
、Place.Field.ICON_URL
、Place.Field.UTC_OFFSET
、Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
以下のフィールドで Place Details(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
以下のフィールドで Place Details(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
オプション パラメータ
FetchPlaceRequest
のオプション パラメータは次のとおりです。
地域コード
レスポンスのフォーマットに使用されるリージョン コード。 2 文字の CLDR コード値として指定します。デフォルト値はありません。
レスポンスの
Place.Field.ADDRESS
フィールドの国名がregionCode
と一致する場合、国コードはPlace.Field.ADDRESS
から省略されます。ほとんどの CLDR コードは ISO 3166-1 コードと同一ですが、いくつか注意すべき例外があります。たとえば、英国の ccTLD は「uk」(.co.uk)ですが、ISO 3166-1 コードは「gb」(厳密には「グレート ブリテンおよび北アイルランド連合王国」のエンティティ)です。このパラメータは、適用される法律に基づき、結果に影響する場合があります。
地域コード パラメータを設定するには、
FetchPlaceRequest
オブジェクトの作成時にsetRegionCode()
メソッドを呼び出します。-
セッション トークン
セッション トークンはユーザーが生成した文字列で、予測入力(新版)の呼び出しを「セッション」としてトラッキングします。予測入力(新版)は、セッション トークンを使用して、ユーザーの予測入力検索でのクエリと場所の選択フェーズを、請求処理のために個別のセッションにグループ化します。セッション トークンは、Autocomplete(New)の呼び出しに続く Place Details(New)の呼び出しに渡されます。詳細については、セッション トークンをご覧ください。
セッション トークン パラメータを設定するには、
FetchPlaceRequest
オブジェクトの作成時にsetSessionToken()
メソッドを呼び出します。
Place Details の例
次の例では、ニューヨーク市のエンパイア ステート ビルディングの ID
、NAME
、ADDRESS
フィールドをリクエストします。
// Define a place ID.
final String placeId = "ChIJaXQRs6lZwokRY6EFpJnhNNE";
// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME, Place.Field.ADDRESS);
// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);
// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);