Вы можете запросить более подробную информацию о конкретном заведении или объекте интереса, используя его идентификатор и отправив запрос «Подробности места (новые)». Запрос «Подробности места (новые)» возвращает более полную информацию об указанном месте, например, его полный адрес, номер телефона, рейтинг пользователей и отзывы.
Существует множество способов получить идентификатор места. Вы можете использовать:
Запросы на детали места (новые)
Вы можете запросить сведения о месте, вызвав PlacesClient.fetchPlace()
и ��ере��ав ��бъект 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
, который включает только поля, запрошенные вами с помощью спис��а полей . Результаты поиска по месту не могут быть пустыми, поэтому возвращаются только результаты с данными (например, если у запрошенного места нет фотографий, поле «Фотографии» не будет присутствовать в результате).
Для доступа к полям данных вызовите соответствующий метод . Например, для доступа к названию места вызовите getName()
.
Обязательные параметры
Обязательные параметры для FetchPlaceRequest
:
Идентификатор места
Текстовый идентификатор, однозначно определяющий место, возвращаемый в результате текстового поиска (новое) , поиска поблизости (новое) или автозаполнения (новое) . Подробнее об идентификаторах мест см. в обзоре идентификаторов мест .
Список полей
При запросе места необходимо указать, какие данные о месте нужно вернуть. Для этого передайте список значений
Place.Field
, указывающих возвращаемые данные. В ответе нет списка возвращаемых полей по умолчанию.Списки полей — это хороший способ проектирования, позволяющий избежать запроса ненужных данных, что помогает избежать лишнего времени обработки и расходов на выставление счетов. Этот список важен, поскольку он влияет на стоимость каждого запроса. Подробнее см. в разделе «Использование и выставление счетов» .
Укажите одно или несколько из следующих полей:
Следующие поля активируют только идентификаторы Place Details Essentials IDs SKU :
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.ADDRESS
(устарело).
Place.Field.LOCATION
*
* Использовать вместоPlace.Field.LAT_LNG
(устарело).
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.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
Следующие поля активируют 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
Следующие поля активируют 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
:
Код региона
Код региона, используемый для форматирования ответа, указывается как двухсимвольное значение кода CLDR . Значение по умолчанию отсутствует.
Если название страны поля
Place.Field.FORMATTED_ADDRESS
в ответе совпадает сregionCode
, код страны исключается изPlace.Field.FORMATTED_ADDRESS
.Большинство кодов CLDR идентичны кодам ISO 3166-1, за некоторыми заметными исключениями. Например, ccTLD Великобритании — «uk» (.co.uk), а код ISO 3166-1 — «gb» (технически обозначает «Соединённое Королевство Великобритании и Северной Ирландии»). Этот параметр может влиять на результаты в зависимости от применимого законодательства.
Чтобы задать параметр кода региона, вызовите метод
setRegionCode()
при построении объектаFetchPlaceRequest
.Токен сеанса
Токены сеансов — это генерируемые пользователями строки, которые отслеживают вызовы функции автозаполнения (New) как «сеансы». Функция автозаполнения (New) использует токены сеансов для группировки этапов поиска и выбора мест в рамках пользовательского автозаполнения в отдельный сеанс для выставления счетов. Токены сеансов передаются в вызовы функции Place Details (New), следующие за вызовами функции автозаполнения (New). Подробнее см. в разделе Токены сеансов .
Чтобы задать параметр токена сеанса, вызовите метод
setSessionToken()
при создании объектаFetchPlaceRequest
.
Пример сведений о месте
В следующем примере запрашиваются поля ID
, DISPLAY_NAME
и FORMATTED_ADDRESS
для здания Empire State Building в Нью-Йорке.
// 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);