Чтобы получить подробную информацию об определенном заведении или объекте инфраструктуры, отправьте запрос Place Details (New), указав идентификатор места. Place Details (New) возвращает более подробную информацию об указанном месте, например полный адрес, номер телефона, оценки и отзывы пользователей.
Получить идентификатор места можно разными способами. Вы можете использовать:
Запросы Place Details (New)
Чтобы запросить информацию о месте, вызовите метод 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);
Ответы на запросы информации о местах (новые)
Информация о местах (New) возвращает данные в виде объекта Place, который содержит только поля, указанные в списке полей. Поскольку ответ на запрос информации из таких полей не может быть пустым, возвращаются только результаты для мест, о которых такая информация есть. Например, если у места нет фотографий, поля с фотографиями в результатах не будет.
Чтобы получить доступ к полям данных, вызовите соответствующий метод.
Например, чтобы получить название места, вызовите getName().
Обязательные параметры
Обязательные параметры для FetchPlaceRequest:
-
Идентификатор места
Текстовый идентификатор, который уникальным образом определяет место, возвращенное в результате запроса Text Search (New), Nearby Search (New) или Autocomplete (New). Подробнее об идентификаторах мест…
-
Список полей
При запросе места необходимо указать, какие данные о нем нужно вернуть. Для этого передайте список значений
Place.Field, указывающих, какие данные нужно вернуть. В ответе нет списка возвращаемых полей по умолчанию.Списки полей помогут вам не запрашивать ненужные данные и тем самым сократить время обработки и снизить расходы.Это важно, поскольку от списка зависит стоимость каждого запроса. Подробнее об использовании и оплате…
Укажите одно или несколько из следующих полей:
Следующие поля активируют Place Details Essentials IDs Only 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 применяется, если вы запрашиваете следующие поля:
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 "информация о местах" Enterprise:
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.-
Токен сеанса
Токены сеансов – это создаваемые пользователями строки, которые отслеживают вызовы Autocomplete (New) как сеансы. Autocomplete (New) использует токены сеансов, чтобы сгруппировать этапы запроса и выбора места выполняемого пользователем поиска с функцией автозаполнения в отдельный сеанс для выставления счетов. Токены сеансов передаются в вызовы информации о местах (New), которые следуют за вызовами Autocomplete (New). Подробнее о токенах сеансов…
Чтобы задать параметр токена сеанса, вызовите метод
setSessionToken()при создании объектаFetchPlaceRequest.
Пример запроса информации о местах
В следующем примере запрашиваются поля 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);