Вы можете запросить более подробную информацию о конкретном заведении или достопримечательности, используя его идентификатор и отправив запрос «Подробная информация о месте (новая функция)». Запрос «Подробная информация о месте (новая функция)» возвращает более полную информацию об указанном месте, такую как полный адрес, номер телефона, рейтинг пользователей и отзывы.
Существует множество способов получить идентификатор места. Вы можете использовать:
Запросы на подробную информацию о местах (новые)
Запросить подробную информацию о месте можно, вызвав метод 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, определяющих данные для возврата. В ответе нет списка полей, возвращаемых по умолчанию.Использование списков полей — это хорошая практика проектирования, позволяющая избежать запроса лишних данных, что помогает сэкономить время на обработке и увеличить расходы на выставление счетов. Этот список важен, поскольку он влияет на стоимость каждого запроса. Для получения дополнительной информации см. раздел «Использование и выставление счетов» .
Укажите одно или несколько из следующих полей:
Следующие поля активируют SKU, содержащий только основные идентификаторы сведений о месте :
Place.Field.ID
Place.Field.PHOTO_METADATAS
Place.Field.RESOURCE_NAMEСледующие поля активируют 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Следующие поля запускают функцию создания корпоративного артикула данных о месте :
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 :
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, за некоторыми заметными исключениями. Например, национальный домен верхнего уровня Соединенного Королевства — «uk» (.co.uk), а его код ISO 3166-1 — «gb» (технически обозначающий «Соединенное Королевство Великобритании и Северной Ирландии»). Параметр может влиять на результаты в зависимости от применимого законодательства.
Чтобы задать параметр кода региона, вызовите метод
setRegionCode()при создании объектаFetchPlaceRequest.токен сессии
Токены сессии — это создаваемые пользователем строки, которые отслеживают вызовы функции автозаполнения (новая) как «сессии». Функция автозаполнения (новая) использует токены сессии для группировки этапов запроса и выбора места в поиске с автозаполнением в отдельную сессию для целей выставления счетов. Токены сессии передаются в вызовы функции сведений о месте (новая), следующие за вызовами функции автозаполнения (новая). Для получения дополнительной информации см. раздел «Токены сессии» .
Чтобы установить параметр токена сессии, вызовите метод
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);