В этом руководстве описывается, как перенести приложения, использующие Directions API или Distance Matrix API, на использование Routes API. Подробную информацию об Routes API см. в обзоре продукта .
Лучшие практики выставления счетов для миграции
Это руководство применимо, если использование API достаточно интенсивно для перехода на тариф второго уровня. При переходе на новую версию API с вас также будет взиматься плата за другой артикул. Чтобы избежать увеличения расходов в течение месяца перехода, мы рекомендуем переходить на новые API в рабочей среде как можно ближе к началу месяца. Это позволит вам достичь наиболее экономически эффективных тарифных планов в течение месяца миграции. Подробнее о тарифных планах см. на странице тарифов и в разделе часто задаваемых вопросов о ценах .
Обновите конечные точки REST API
Обновите свой код, чтобы использовать новые конечные точки API маршрутов.
Из API маршрутов
| API маршрутов | https://maps.googleapis.com/maps/api/directions/ outputFormat ? parameters | 
| API маршрутов | https://routes.googleapis.com/directions/v2:computeRoutes | 
Из API матрицы расстояний
| API матрицы расстояний | https://maps.googleapis.com/maps/api/distancematrix/ outputFormat ? parameters | 
| 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 . Примеры см.:
Преобразовать путевые точки, закодированные в виде полилиний, в путевые точки местоположения
Возможность указания путевых точек в виде кодированных ломаных линий доступна в API Directions (устаревшей версии), что позволяет уместить большое количество путевых точек в ограничение длины URL в 16384 символа. В API Routes эта функция не требуется, поскольку путевые точки могут передаваться в теле запроса REST или gRPC как координаты широты/долготы. Примеры см. в разделе HTTP Example в документе Compute a route matrix или в разделе Define an intermediate waypoint в документе Specify intermediate waypoints .
Преобразовать параметры
В таблицах ниже перечислены параметры Directions API и Distance Matrix API, которые были переименованы или изменены, а также параметры, которые не поддерживаются в версии GA. Обновите код, если вы используете какой-либо из этих параметров.
Запросить преобразование параметров
| Параметр матрицы направлений или расстояний | Параметр API маршрутов | Примечания | 
|---|---|---|
| alternatives | computeAlternativeRoutes | |
| arrival_time | arrivalTime | Доступно только в режиме TRANSITи не одновременно сdepartureTime. | 
| avoid | routeModifiers | |
| departure_time | departureTime | Не может использоваться одновременно с arrivalTime. | 
| language | languageCode | Поддерживается только для вычислительных маршрутов. | 
| mode | travelMode |  Добавлена поддержка  | 
| region | regionCode | |
| traffic_model | trafficModel | Узнать больше | 
| transit_mode | "travelMode": "TRANSIT" | В API Directions (устаревшей версии) каждый сегмент поездки с одним и тем же способом передвижения (например, пешком или на общественном транспорте) считается одним шагом, а отдельные указания для этого способа передвижения — подшагами. В отличие от этого, в API Routes шаги — это последовательно одна навигационная инструкция для всех типов передвижения. Таким образом, каждая навигационная инструкция является шагом. Для нескольких шагов в одном способе передвижения API Routes предоставляет метаданные, содержащие сводку шагов для этого способа передвижения, в поле `stepsOverview`. Чтобы запросить эти метаданные, используйте маску поля `routes.legs.stepsOverview`. Подробнее . | 
| transit_routing_preference | transitRoutingPreference | Узнать больше | 
| units | units | Узнать больше | 
| waypoints | intermediates | Удалена поддержка кодированных полилиний . | 
| optimize=trueдля путевых точек | "optimizeWaypointOrder": "true" | Узнать больше | 
Преобразования параметров ответа
| Параметр матрицы направлений или расстояний | Параметр API маршрутов | Примечания | 
|---|---|---|
| copyrights | Не включено в ответ. При отображении результатов пользователям необходимо включить следующее утверждение:   Например:   | |
| distance | distanceMeters | Расстояние доступно только в метрах. | 
| duration_in_traffic | duration | Удалено в 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 |