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

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

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

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

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

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

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

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

PlacesService (устаревший) Place (Новое)
Методы требуют использования обратного вызова для обработки объекта результатов и ответа google.maps.places.PlacesServiceStatus . Использует Promises и работает асинхронно.
Методы требуют проверки PlacesServiceStatus . Проверка статуса не требуется, можно использовать стандартную обработку ошибок.
Поля данных о месте отформатированы с использованием Snake Case. Поля данных о месте форматируются с использованием 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: