Переход с устаревшей версии 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 (устаревшая версия), чтобы уместить большое количество путевых точек в 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

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