В этом руководстве описывается, как перенести приложения, использующие 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 |
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 |
Не включено в ответ. При показе результатов пользователям необходимо включить следующее заявление:
Пример:
|
|
distance |
distanceMeters |
Расстояние указывается только в метрах. |
duration_in_traffic |
duration |
Удалено из Routes API. Используйте duration. |
status |
Недоступно. Используйте коды HTTP-ответов для ошибок, о которых сообщает API. Подробнее о том, как обрабатывать ошибки запросов… | |
geocoded_waypoints |
geocoding_results |
Поддерживается только для Compute Routes. Содержит информацию о геокодировании только для путевых точек, указанных в виде адресов. |
bounds |
viewport |
|
legs.end_address |
Недоступно. | Для высокоточного построения маршрутов используйте идентификаторы мест вместо координат. Идентификаторы мест содержат данные, которые привязывают маршрут к правильным точкам доступа.
|
legs.start_address |
Недоступно. | |
overview_polyline |
ломаная линия | |
summary |
description |
|
waypoint_order |
optimizedIntermediateWaypointIndex |