В этом руководстве описывается, как перенести приложения, использующие 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 |