Переход с устаревшей версии Directions API или Distance Matrix API

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

В этом руководстве описывается, как перенести приложения, использующие Directions API или Distance Matrix API, на Routes API. Подробную информацию о Routes API можно найти в обзоре продукта.

Рекомендации по переносу платежных аккаунтов

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

Обновите конечные точки REST API

Обновите код, чтобы использовать новые конечные точки Routes API.

Из Directions API

Directions API https://maps.googleapis.com/maps/api/directions/outputFormat?parameters
Routes API https://routes.googleapis.com/directions/v2:computeRoutes

Из Distance Matrix API

Distance Matrix API https://maps.googleapis.com/maps/api/distancematrix/outputFormat?parameters
Routes API https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix

Как преобразовать параметры URL для использования тела запроса HTTPS

В Directions API и Distance Matrix API свойства конфигурации передаются в виде параметров URL в запросе HTTP GET. Например, для Directions API:

https://maps.googleapis.com/maps/api/directions/outputFormat?parameters

В Routes API параметры передаются в теле или заголовках запроса HTTP POST. Примеры:

Преобразование путевых точек, закодированных в виде ломаной линии, в путевые точки местоположения

Указание путевых точек в виде закодированных ломаных линий доступно в Directions API (Legacy), чтобы в URL можно было включить большое количество путевых точек, не превышая ограничение в 16 384 символа. В Routes API эта функция не нужна, поскольку путевые точки можно передавать в теле запроса REST или gRPC в виде координат широты и долготы. Примеры приведены в разделах Пример HTTP в документе Вычисление матрицы маршрутов и Определение промежуточной путевой точки в документе Указание промежуточных путевых точек.

Преобразование параметров

В таблицах ниже перечислены параметры Directions API и Distance Matrix API, которые были переименованы или изменены, а также параметры, которые не поддерживаются в общедоступной версии. Если вы используете какой-либо из этих параметров, обновите код.

Конверсии с параметрами запроса

Параметр Directions или матрица расстояний Параметр Routes API Примечания
alternatives computeAlternativeRoutes
arrival_time arrivalTime Доступно только в режиме TRANSIT и не может использоваться одновременно с departureTime.
avoid routeModifiers
departure_time departureTime Нельзя использовать одновременно с arrivalTime.
language languageCode Поддерживается только для Compute Routes.
mode travelMode

Передается в теле JSON-запроса HTTP POST computeRoutes или computeRouteMatrix с использованием значений RouteTravelMode (DRIVE, TWO_WHEELER, WALK, TRANSIT, TRUCK или BICYCLE для computeRoutes) вместо параметра запроса URL GET. Добавлена поддержка TWO_WHEELER, TRANSIT и TRUCK.

region regionCode
traffic_model trafficModel Подробнее…
transit_mode "travelMode": "TRANSIT" В Directions API (Legacy) каждый сегмент маршрута общественного транспорта, преодолеваемый одним способом (например, пешком или на автобусе), считается одним шагом, а отдельные указания для этого способа передвижения – подшагами. В Routes API шаг – это всегда одна навигационная инструкция для всех типов поездок. Каждая инструкция по навигации – это шаг. Если маршрут состоит из нескольких этапов, на которых используется один и тот же способ передвижения, Routes API предоставляет метаданные со сводкой по этим этапам в поле `stepsOverview`. Чтобы запросить эти метаданные, используйте маску поля `routes.legs.stepsOverview`. Подробнее…
transit_routing_preference transitRoutingPreference Подробнее…
units units Подробнее…
waypoints intermediates Прекращена поддержка закодированных ломаных линий.
optimize=true для путевых точек "optimizeWaypointOrder": "true" Подробнее…

Конверсии по параметру ответа

Параметр Directions или матрица расстояний Параметр Routes API Примечания
copyrights

Не включено в ответ. При показе результатов пользователям необходимо включить следующее заявление:

Powered by Google, ©YEAR Google

Пример:

Powered by Google, ©2022 Google

distance distanceMeters Расстояние указывается только в метрах.
duration_in_traffic duration Удалено из Routes API. Используйте duration.
status Недоступно. Используйте коды HTTP-ответов для ошибок, о которых сообщает API. Подробнее о том, как обрабатывать ошибки запросов…
geocoded_waypoints geocoding_results Поддерживается только для Compute Routes. Содержит информацию о геокодировании только для путевых точек, указанных в виде адресов.
bounds viewport
legs.end_address Недоступно.

Для высокоточного построения маршрутов используйте идентификаторы мест вместо координат. Идентификаторы мест содержат данные, которые привязывают маршрут к правильным точкам доступа.

  • Если у вас есть адрес, используйте автозаполнение мест или Geocoding API, чтобы получить идентификатор места.
  • Если вы начинаете с координат, попробуйте использовать поиск пунктов назначения, чтобы указать более точное местоположение. Простое получение адреса по координатам может быть сложным и привести к неправильной привязке. Routes API не выполняет обратное геокодирование координат в адреса.
legs.start_address Недоступно.
overview_polyline ломаная линия
summary description
waypoint_order optimizedIntermediateWaypointIndex