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

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

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

Лучшие практики выставления счетов для миграции

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

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

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

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

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

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

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

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

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

Служба мест (устаревшая) Место Класс (Новый)
Разместить поля данных Поля данных класса 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

Способ загрузки библиотеки 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.

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