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

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

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

Рекомендации по выставлению счетов при миграции

Данное руководство применимо, если использование вашего API достаточно велико для перехода на тарифный план второго уровня. При миграции на более новую версию API с вас также будет взиматься плата за другой SKU. Чтобы избежать увеличения затрат в течение месяца перехода, мы рекомендуем переключиться на новые API, находящиеся в эксплуатации, как можно ближе к началу месяца. Это обеспечит вам доступ к наиболее выгодным ежемесячным тарифным планам в течение месяца миграции. Информацию о тарифных планах см. на странице с ценами и в разделе часто задаваемых вопросов о ценах .

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

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

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

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

PlacesService (Legacy) 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 вашим приложением зависит от используемого загрузчика Bootstrap. Если ваше приложение использует динамический импорт библиотек , вы можете загрузить необходимые библиотеки во время выполнения, используя оператор 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>

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

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