特定の店舗やスポットの詳細をリクエストするには、そのプレイス ID を使用して Place Details (New) リクエストを実行します。Place Details (New) は、指定された場所に関するより包括的な情報(完全な住所、電話番号、ユーザーの評価、クチコミなど)を返します。
プレイス 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
オブジェクトの形式でデータを返します。このオブジェクトには、フィールドリストを使用してリクエストしたフィールドのみが含まれます。プレイスデータの結果は空にできないため、データを含むプレイスの結果のみが返されます(たとえば、リクエストされたプレイスに写真がない場合、結果に photos フィールドは含まれません)。
データフィールドにアクセスするには、対応するメソッドを呼び出します。たとえば、場所名にアクセスするには、getName()
を呼び出します。
必須パラメータ
FetchPlaceRequest
の必須パラメータは次のとおりです。
-
プレイス ID
テキスト検索(新版)、Nearby Search(新版)、Autocomplete(新版) から返される、場所を一意に識別するテキスト表記の ID です。プレイス ID の詳細については、プレイス ID の概要をご覧ください。
-
フィールドリスト
場所をリクエストする際は、返す場所データを指定する必要があります。これを行うには、返すデータを指定する
Place.Field
値のリストを渡します。レスポンスで返されるフィールドのデフォルト リストはありません。フィールドリストは、不要なデータをリクエストしないようにするための優れた設計手法です。これにより、不要な処理時間と課金が発生するのを回避できます。このリストは、各リクエストの費用に影響するため、考慮を要する重要な点です。詳細については、使用量と課金をご覧ください。
次のフィールドを 1 つ以上指定します。
次のフィールドは、Place Details (IDs Only) SKU をトリガーします。
Place.Field.DISPLAY_NAME
、Place.Field.ID
、Place.Field.PHOTO_METADATAS
、Place.Field.RESOURCE_NAME
、
次のフィールドは、Place Details (Location Only) SKU をトリガーします。
Place.Field.ADDRESS_COMPONENTS
、ADR_FORMAT_ADDRESS
、Place.Field.FORMATTED_ADDRESS
、Place.Field.LOCATION
、Place.Field.PLUS_CODE
、Place.Field.SHORT_FORMATTED_ADDRESS
、Place.Field.TYPES
、Place.Field.VIEWPORT
、
次のフィールドは、Place Details(基本)SKU をトリガーします。
Place.Field.ACCESSIBILITY_OPTIONS
、Place.Field.BUSINESS_STATUS
、Place.Field.GOOGLE_MAPS_URI
、Place.Field.ICON_BACKGROUND_COLOR
、Place.Field.ICON_MASK_URL
、Place.Field.PRIMARY_TYPE
、Place.Field.PRIMARY_TYPE_DISPLAY_NAME
、Place.Field.SUB_DESTINATIONS
、Place.Field.UTC_OFFSET
、
次のフィールドは、Place Details (Advanced) SKU をトリガーします。
Place.Field.CURRENT_OPENING_HOURS
、Place.Field.CURRENT_SECONDARY_OPENING_HOURS
、Place.Field.INTERNATIONAL_PHONE_NUMBER
、Place.Field.NATIONAL_PHONE_NUMBER
、Place.Field.OPENING_HOURS
、Place.Field.PRICE_LEVEL
、Place.Field.RATING
、Place.Field.SECONDARY_OPENING_HOURS
、Place.Field.USER_RATING_COUNT
、Place.Field.WEBSITE_URI
、
次のフィールドが Place Details (Preferred) SKU をトリガーします。
Place.Field.ALLOWS_DOGS
,Place.Field.CURBSIDE_PICKUP
,Place.Field.DELIVERY
,Place.Field.DINE_IN
,Place.Field.EDITORIAL_SUMMARY
,Place.Field.EV_CHARGE_OPTIONS
,Place.Field.FUEL_OPTIONS
,Place.Field.GOOD_FOR_CHILDREN
,Place.Field.GOOD_FOR_GROUPS
,Place.Field.GOOD_FOR_WATCHING_SPORTS
,Place.Field.LIVE_MUSIC
,Place.Field.MENU_FOR_CHILDREN
,Place.Field.OUTDOOR_SEATING
,Place.Field.PARKING_OPTIONS
,Place.Field.PAYMENT_OPTIONS
,Place.Field.RESERVABLE
,Place.Field.RESTROOM
,Place.Field.REVIEWS
,Place.Field.SERVES_BEER
,Place.Field.SERVES_BREAKFAST
,Place.Field.SERVES_BRUNCH
,Place.Field.SERVES_COCKTAILS
,Place.Field.SERVES_COFFEE
,Place.Field.SERVES_DESSERT
,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.FORMATTED_ADDRESS
フィールドの国名がregionCode
と一致する場合、国コードはPlace.Field.FORMATTED_ADDRESS
から省略されます。ほとんどの CLDR コードは ISO 3166-1 コードと同一ですが、いくつか注意が必要な例外もあります。たとえば、英国の ccTLD は「uk」(.co.uk)ですが、その ISO 3166-1 コードは「gb」(厳密には「United Kingdom of Great Britain and Northern Ireland」のエンティティ)です。このパラメータは、適用される法律に基づいて結果に影響する可能性があります。
地域コード パラメータを設定するには、
FetchPlaceRequest
オブジェクトを作成するときにsetRegionCode()
メソッドを呼び出します。-
セッション トークン
セッション トークンは、Autocomplete(新規)の呼び出しを「セッション」として追跡するユーザー作成の文字列です。Autocomplete(新規)は、セッション トークンを使用して、予測入力検索でのユーザーのクエリと場所の選択フェーズを、請求処理のために個別のセッションにグループ化します。セッション トークンは、Autocomplete(新規)呼び出しに続く Place Details(新規)呼び出しに渡されます。詳細については、セッション トークンをご覧ください。
セッション トークン パラメータを設定するには、
FetchPlaceRequest
オブジェクトを作成するときにsetSessionToken()
メソッドを呼び出します。
Place Details の例
次の例では、ニューヨーク市のエンパイア ステート ビルの ID
、DISPLAY_NAME
、FORMATTED_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.DISPLAY_NAME, Place.Field.FORMATTED_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);