特定の店やスポットに関する詳細をリクエストするには、そのプレイス ID を使用して Place Details(新版)リクエストを行います。 Place Details(新版)は、完全な住所、電話番号、ユーザーの評価、レビューなど、指定された場所に関する包括的な情報を返します。
プレイス ID を取得する方法はたくさんあります。以下を使用できます。
Place Details(新版)リクエスト
場所の詳細をリクエストするには、
PlacesClient.fetchPlace()
を呼び出し、
FetchPlaceRequest
オブジェクトと、プレイス ID および フィールド リスト、さらに
任意の オプション パラメータを渡します。
// 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
オブジェクトの形式でデータを返します。これには、フィールド
リストを使用してリクエストしたフィールドのみが含まれます。場所のデータの結果が空になることはないため、データを含む場所の結果のみが返されます(たとえば、リクエストされた場所に写真がない場合、結果に photos フィールドは含まれません)。
データ フィールドにアクセスするには、対応する
メソッドを呼び出します。
たとえば、場所の名前を取得するには、getName() を呼び出します。
必須パラメータ
FetchPlaceRequest
の必須パラメータは次のとおりです。
-
プレイス ID
場所を一意に識別するテキスト表記の ID。 テキスト検索(新版)、 Nearby Search(新版)、または 予測入力(新版)から返されます。 プレイス ID について詳しくは、 プレイス ID の概要をご覧ください。
-
フィールド リスト
場所をリクエストする場合は、返す場所のデータを指定する必要があります。これを行うには、返すデータを指定する
Place.Field値のリストを渡します。レスポンスで返されるフィールドのデフォルト リストはありません。フィールド リストは、不要なデータをリクエストしないようにするための優れた設計手法です。 これにより、不要な処理時間や 課金を回避できます。このリストは、各リクエストの費用に影響するため、 考慮を要する重要な点です。詳細については、 使用量 と課金をご覧ください。
次のフィールドを 1 つ以上指定します。
次のフィールドは、Place Details Essentials IDs Only SKU をトリガーします。
Place.Field.ID
Place.Field.PHOTO_METADATAS
Place.Field.RESOURCE_NAME
フィールドとそれに関連付けられた SKU の完全なリストについては、場所のデータ フィールド(新版)をご覧ください。
次のフィールドは、Place Details Essentials SKU をトリガーします。
Place.Field.ADDRESS_COMPONENTS
ADR_FORMAT_ADDRESS
Place.Field.FORMATTED_ADDRESS*
*Place.Field.ADDRESS(非推奨)の代わりに使用します。
Place.Field.LOCATION*
*Place.Field.LAT_LNG(非推奨)の代わりに使用します。
Place.Field.PLUS_CODE
Place.Field.SHORT_FORMATTED_ADDRESS
Place.Field.TYPES
Place.Field.VIEWPORTフィールドとそれに関連付けられた SKU の完全なリストについては、場所のデータ フィールド(新版)をご覧ください。
次のフィールドは、Place Details Pro SKU をトリガーします。
Place.Field.ACCESSIBILITY_OPTIONS*
*Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE(非推奨)の代わりに使用します。
Place.Field.BUSINESS_STATUS
Place.Field.DISPLAY_NAME*
* 非推奨のPlace.Field.NAMEの代わりに使用します。
Place.Field.GOOGLE_MAPS_URI
Place.Field.ICON_BACKGROUND_COLOR
Place.Field.ICON_MASK_URL*
*Place.Field.ICON_URL(非推奨)の代わりに使用します。
Place.Field.PRIMARY_TYPE
Place.Field.PRIMARY_TYPE_DISPLAY_NAME
Place.Field.SUB_DESTINATIONS
Place.Field.UTC_OFFSETフィールドとそれに関連付けられた SKU の完全なリストについては、場所のデータ フィールド(新版)をご覧ください。
次のフィールドは、Place Details Enterprise SKU をトリガーします。
Place.Field.CURRENT_OPENING_HOURS
Place.Field.CURRENT_SECONDARY_OPENING_HOURS
Place.Field.INTERNATIONAL_PHONE_NUMBER*
* 非推奨のPlace.Field.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.USER_RATINGS_TOTALの代わりに使用します。
Place.Field.WEBSITE_URIフィールドとそれに関連付けられた SKU の完全なリストについては、場所のデータ フィールド(新版)をご覧ください。
次のフィールドは、Place Details Enterprise Plus 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フィールドとそれに関連付けられた SKU の完全なリストについては、場所のデータ フィールド(新版)をご覧ください。
オプション パラメータ
FetchPlaceRequest
のオプション パラメータは次のとおりです。
地域コード
レスポンスの書式設定に使用される地域コード。 2 文字の CLDR コード値として指定します。デフォルト値はありません。
レスポンスの
Place.Field.FORMATTED_ADDRESSフィールドの国名がregionCodeと一致する場合、Place.Field.FORMATTED_ADDRESSから国コードが省略されます。ほとんどの CLDR コードは ISO 3166-1 コードと同一ですが、 いくつか注意が必要な例外もあります。たとえば、イギリスの ccTLD は 「uk」(.co.uk)ですが、ISO 3166-1 コードは「gb」(厳密には 「グレートブリテンおよび北アイルランド連合王国」のエンティティ用)です。 このパラメータは、適用される法律に基づいて結果に影響を与える可能性があります。
地域コード パラメータを設定するには、
setRegionCode()オブジェクトを作成するときにFetchPlaceRequestメソッドを呼び出します。-
セッション トークン
セッション トークンは、 予測入力(新版)の呼び出しを「セッション」として追跡するユーザー生成の文字列です。予測入力(新版)はセッション トークンを使用し、予測入力検索でのユーザーのクエリと場所の選択フェーズを、請求処理のために個別のセッションにグループ化します。セッション トークンは、予測入力(新版)の呼び出しに続く Place Details(新版) の呼び出しに渡されます。詳細については、 セッション トークンをご覧ください。
セッション トークン パラメータを設定するには、
setSessionToken()メソッドを呼び出してFetchPlaceRequestオブジェクトを作成します。
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);