В этом руководстве освещаются ключевые различия между устаревшим сервисом 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:
Загрузите библиотеку мест
То, как ваше приложение загружает библиотеку 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:
- Перенести в раздел «Подробности о месте»
- Переход на текстовый поиск (новинка)
- Переход на поиск поблизости (новинка)
- Миграция для размещения фотографий
- Перейдите на размещение отзывов
- Миграция на автозаполнение мест
В этом руководстве освещаются ключевые различия между устаревшим сервисом 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:
Загрузите библиотеку мест
То, как ваше приложение загружает библиотеку 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: