特定の施設やスポットに関する詳細をリクエストするには、そのプレイス ID を使用して Place Details (New) リクエストを実行します。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
オブジェクトの形式でデータを返します。このオブジェクトには、フィールド リストを使用してリクエストしたフィールドのみが含まれます。プレイスデータの結果は空にできないため、データを含むプレイスの結果のみが返されます(たとえば、リクエストされたプレイスに写真がない場合、結果に photos フィールドは含まれません)。
データフィールドにアクセスするには、対応するメソッドを呼び出します。たとえば、場所名にアクセスするには、getName()
を呼び出します。
必須パラメータ
FetchPlaceRequest
に必要なパラメータは次のとおりです。
-
プレイス ID
テキスト検索(新版)、Nearby Search(新版)、Autocomplete(新版) から返される、場所を一意に識別するテキスト表記の ID です。プレイス ID について詳しくは、プレイス ID の概要をご覧ください。
-
フィールドリスト
場所をリクエストする際は、返す場所データを指定する必要があります。これを行うには、返すデータを指定する
Place.Field
値のリストを渡します。レスポンスで返されるフィールドのデフォルト リストはありません。フィールドリストは、不要なデータをリクエストしないようにするための優れた設計手法です。これにより、不要な処理時間と請求料金を回避できます。このリストは、各リクエストの費用に影響するため、考慮を要する重要な点です。詳細については、使用量と課金をご覧ください。
次のフィールドを 1 つ以上指定します。
次のフィールドは、Place Details Essentials IDs Only SKU をトリガーします。
Place.Field.DISPLAY_NAME
Place.Field.ID
Place.Field.PHOTO_METADATAS
Place.Field.RESOURCE_NAME
次のフィールドは、Place Details Essentials 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 Pro 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 Enterprise 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 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
オプション パラメータ
FetchPlaceRequest
のオプション パラメータは次のとおりです。
地域コード
レスポンスのフォーマットに使用される地域コード。 2 文字の CLDR コード値で指定します。デフォルト値はありません。
レスポンスの
Place.Field.FORMATTED_ADDRESS
フィールドの国名がregionCode
と一致する場合、国コードはPlace.Field.FORMATTED_ADDRESS
から省略されます。ほとんどの CLDR コードは ISO 3166-1 コードと同一ですが、いくつか注意が必要な例外もあります。たとえば、英国の ccTLD は「uk」(.co.uk)ですが、ISO 3166-1 コードは「gb」です(技術的には「グレート ブリテンおよび北アイルランド連合王国」のエンティティ用)。このパラメータは、適用される法律に基づいて結果に影響する可能性があります。
地域コード パラメータを設定するには、
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);