Places SDK для Android поддерживает Place Details (Legacy) . Если вы знакомы с Places SDK для Android (Legacy), Place Details (New) вносит следующие изменения:
Использует новую модель ценообразования. Информацию о ценах для всех API см. в разделе Places SDK для Android (новый) .
Необходимо инициализировать приложение, вызвав метод
Places.initializeWithNewPlacesApiEnabled()
. Подробнее о выборе службы API Places см. в статье Настройка проекта Google Cloud .Требуется маскирование полей. Необходимо указать, какие поля должны быть возвращены в ответе. Списка возвращаемых полей по умолчанию нет. Если этот список не указан, методы вернут ошибку.
В следующих разделах описаны дополнительные изменения.
Доступ к новым типам мест
С каждым местом может быть связано одно или несколько значений типа . В Places SDK для Android версии 3.3.0 и более поздних добавлено множество новых значений типа. Полный список см. в разделе «Расширенные типы мест» .
Метод Place.getPlaceTypes()
возвращает значения типов в виде списка строковых значений. Возвращаемые значения зависят от вашей версии Places SDK для Android:
Places SDK для Android (новый) : возвращает строки, определенные в таблице A и таблице B, показанных в разделе Place Types (новый) , включая все добавленные типы мест в версии 3.3.0.
Places SDK для Android : возвращает перечисления, определенные
Place.Types
, которые не включают новые типы, добавленные в версии 3.3.0 и более поздних.
Обзоры мест доступа
В Places SDK для Android (новый) добавлен класс Review
, содержащий отзыв о месте. Объект Place
может содержать до пяти отзывов.
Класс Review
также может содержать атрибуцию и указание автора. Если вы отображаете отзыв в своём приложении, необходимо также отобразить любую атрибуцию или указание автора. Подробнее см. в разделе Отображение отзыва .
Более подробную информацию см. в документации по атрибуции .
Доступ к коду языка названия места
В Places SDK для Android (устаревшая версия) метод Place.getName()
возвращает текстовую строку с названием места. Чтобы заполнить объект Place
названием места, необходимо включить Place.Field.DISPLAY_NAME
в список полей запроса сведений о месте.
Объект Place
теперь содержит код языка для строки имени. Чтобы заполнить объект Place
кодом языка, необходимо:
Добавьте
Place.Field.DISPLAY_NAME
в список полей запроса. Это значение настраивает ответ на включение как названия места, так и кода языка в объектPlace
.Вызовите
PlacesClient.fetchPlace()
.PlacesClient.findCurrentPlace()
не поддерживает поле кода языка.Используйте метод
Place.getNameLanguageCode()
для доступа к полю кода языка в объектеPlace
.
Установить код региона
В Places SDK для Android (новый) добавлен параметр запроса кода региона в Place Details. Код региона используется для форматирования ответа и указывается как двухсимвольное значение CLDR-кода . Этот параметр также может влиять на смещение результатов поиска. Значение по умолчанию отсутствует. Для установки кода региона необходимо включить новый SDK.
Если название страны в поле адреса в ответе совпадает с кодом региона, код страны из адреса исключается.
Большинство кодов CLDR идентичны кодам ISO 3166-1, за некоторыми заметными исключениями. Например, ccTLD Великобритании — «uk» (.co.uk), а код ISO 3166-1 — «gb» (технически обозначает «Соединённое Королевство Великобритании и Северной Ирландии»). Этот параметр может влиять на результаты в зависимости от применимого законодательства.
Пример запроса
Полный пример см. в разделе Информация о месте (новое) .