Перенос в сведения о месте (новинка)

Разработчики Европейской экономической зоны (ЕЭЗ)

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 кодом языка, необходимо:

  1. Добавьте Place.Field.DISPLAY_NAME в список полей запроса. Это значение настраивает ответ на включение как названия места, так и кода языка в объект Place .

  2. Вызовите PlacesClient.fetchPlace() . PlacesClient.findCurrentPlace() не поддерживает поле кода языка.

  3. Используйте метод Place.getNameLanguageCode() для доступа к полю кода языка в объекте Place .

Установить код региона

В Places SDK для Android (новый) добавлен параметр запроса кода региона в Place Details. Код региона используется для форматирования ответа и указывается как двухсимвольное значение CLDR-кода . Этот параметр также может влиять на смещение результатов поиска. Значение по умолчанию отсутствует. Для установки кода региона необходимо включить новый SDK.

Если название страны в поле адреса в ответе совпадает с кодом региона, код страны из адреса исключается.

Большинство кодов CLDR идентичны кодам ISO 3166-1, за некоторыми заметными исключениями. Например, ccTLD Великобритании — «uk» (.co.uk), а код ISO 3166-1 — «gb» (технически обозначает «Соединённое Королевство Великобритании и Северной Ирландии»). Этот параметр может влиять на результаты в зависимости от применимого законодательства.

Пример запроса

Полный пример см. в разделе Информация о месте (новое) .