Обзор миграции

В этом руководстве освещаются ключевые различия между устаревшим сервисом Places и новым классом Place. Переход на класс Place предлагает значительные преимущества, включая улучшенную производительность и новую модель ценообразования . Чтобы максимально эффективно использовать возможности Адресов и обеспечить актуальность своих приложений, ознакомьтесь с изменениями, подробно описанными в этом руководстве.

Включить API мест

Класс Place использует службу Places API. Чтобы использовать функции нового класса Place, необходимо сначала включить Places API (новый) в своем проекте Google Cloud. Дополнительные сведения см. в разделе Начало работы .

Общие изменения

В следующей таблице перечислены некоторые основные различия между PlacesService и Place :

PlacesService (устаревшая версия) Place (Новое)
Методы требуют использования обратного вызова для обработки объекта результатов и ответа google.maps.places.PlacesServiceStatus . Использует обещания и работает асинхронно.
Методы требуют проверки PlacesServiceStatus . Не требуется проверка статуса, можно использовать стандартную обработку ошибок.
Поля данных о месте отформатированы с использованием змеиного регистра. Поля данных о местах отформатированы с использованием верблюжьего регистра.
Ограничено фиксированным набором типов мест и полей данных о местах . Предоставляет расширенный выбор регулярно обновляемых типов мест и полей данных о местах .

Изменения, специфичные для API

Класс Place предоставляет API для использования библиотеки Places и поддерживает современные шаблоны использования, такие как Promises. Класс Place предоставляет те же поля данных о местах и ​​типы мест, что и устаревшая служба Places, а также включает множество новых значений для полей данных о местах и ​​типов мест.

В этой таблице показано, как функции службы Places сопоставляются с функциями класса Place:

Служба адресов (устаревшая версия) Класс места (новый)
Разместить поля данных Разместить поля данных класса
Типы мест Типы мест
PlacesService.findPlaceFromQuery() Place.searchByText()
PlacesService.findPlaceFromPhoneNumber() Place.searchByText()
PlacesService.textSearch() Place.searchByText()
PlacesService.nearbySearch() Place.searchNearby()
PlacesService.getDetails() Place.fetchFields()
Places.AutocompletionRequest Places.AutocompleteRequest
Places.AutocompletePrediction Places.PlacePrediction
Класс Autocomplete Класс PlaceAutocompleteElement
Класс SearchBox ---

Загрузите библиотеку мест

То, как ваше приложение загружает библиотеку Places, зависит от того, какой загрузчик используется. Если ваше приложение использует импорт динамических библиотек , вы можете загрузить необходимые библиотеки во время выполнения, используя оператор await для вызова importLibrary() , как показано здесь:

const { Place } = await google.maps.importLibrary("places");

Если ваше приложение использует тег прямой загрузки скрипта , запросите библиотеку places в скрипте загрузчика:

<script async
    src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=places&callback=initMap">
</script>

Узнайте больше о загрузке Maps JavaScript API.

В этот раздел включены следующие руководства, которые помогут вам перенести приложения для использования новейшей версии Places API: