Почему стоит перейти на Routes API?

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

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

В этом руководстве рассказывается об основных отличиях Routes API от продуктов, которые он заменяет, а также о том, как вносить необходимые изменения. Подробнее о других функциях Routes API можно узнать из обзора продукта.

Основные улучшения

В этом разделе описаны некоторые улучшения, которые вы можете ожидать при использовании Routes API в своих приложениях.

Увеличенные лимиты на запросы

Routes API Compute Route Matrix
  • Максимальное количество элементов – 625, если не указан элемент TRAFFIC_AWARE_OPTIMAL.
  • Максимальное количество элементов с TRAFFIC_AWARE_OPTIMAL – 100. Подробнее о расширенных настройках маршрутизации…
  • Максимум 50 путевых точек (начальных и конечных) с использованием идентификатора места.
Distance Matrix API
  • Максимум 25 пунктов отправления или назначения на запрос.
  • Максимальное количество элементов (количество пунктов отправления, умноженное на количество пунктов назначения) в одном запросе на стороне сервера – 100.

Быстрые ответы на запросы

Функция Compute Route Matrix позволяет повысить скорость работы следующим образом:

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

Улучшения маршрутизации

Функция расчета маршрута предлагает следующие улучшения:

  • Информация о платных дорогах в дополнение к расстоянию и расчетному времени прибытия.
  • Маршруты для двухколесных транспортных средств.
  • Проверьте промежуточные точки на безопасность.
  • Повысить точность расчетного времени прибытия, задав направление движения и сторону дороги для путевых точек.

Запрашивайте только необходимые данные

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

Routes API
Compute Routes
Compute Route Matrix
В запросах необходимо использовать маску поля, чтобы указать, какие поля должны возвращаться в ответе. Маски полей помогут вам не запрашивать ненужные данные и тем самым сократить время обработки и снизить расходы.
Подробнее о том, как выбрать поля для возврата…
Directions API
Distance Matrix API
Возвращает список полей по умолчанию, даже если они не нужны вашему приложению. Это может привести к увеличению времени обработки и расходов.

Улучшенный расчет маршрутов с учетом дорожной обстановки

Routes API поддерживает три варианта маршрутизации, которые можно использовать, чтобы сбалансировать задержку ответа и качество данных при запросе информации о трафике.

Подробнее о том, как настроить баланс между качеством и задержкой…

TRAFFIC_UNAWARE
(по умолчанию)
При расчете маршрута используются средние данные о трафике, не зависящие от времени, а не данные о трафике в реальном времени, что обеспечивает наименьшую задержку ответа. Этот параметр аналогичен ситуации, когда в Directions API и Distance Matrix API не используются данные о загруженности дорог.
TRAFFIC_AWARE
(новый)
Оптимизированное качество трансляции для уменьшения задержки. В отличие от TRAFFIC_AWARE_OPTIMAL, эта настройка позволяет значительно сократить задержку. Этот параметр также является новым для Routes API и не имеет эквивалента в Directions API или Distance Matrix API.
TRAFFIC_AWARE_OPTIMAL Качественные и полные данные о трафике. При этой настройке задержка будет самой большой. Она эквивалентна значению departure_time в Directions API и Distance Matrix API.
Этот параметр соответствует режиму, используемому на сайте maps.google.com и в мобильном приложении "Google Карты".

Сравнение вычислений маршрута

В таблице ниже сравниваются варианты маршрутов, предлагаемые сервисами Routes API, Directions API и Distance Matrix API.

Вариант трафика Routes API Directions API
Distance Matrix API
Задержка
Нет данных о загруженности дорог в реальном времени TRAFFIC_UNAWARE Не задан ресурс departure_time Самая низкая задержка из трех режимов.
Применены данные о загруженности дорог в реальном времени TRAFFIC_AWARE Ранее такого отчета не существовало

Новый режим, добавленный Routes API. Задержка будет немного больше, чем при использовании TRAFFIC_UNAWARE, а качество расчетного времени прибытия – немного ниже.

У него гораздо меньшая задержка, чем у TRAFFIC_AWARE_OPTIMAL.

Применяются высококачественные и полные данные о дорожном движении в реальном времени. TRAFFIC_AWARE_OPTIMAL departure_time набор объектов

Аналогичен режиму, используемому на сайте maps.google.com и в мобильном приложении "Google Карты".

Для Compute Route Matrix количество элементов в запросе (количество пунктов отправления, умноженное на количество пунктов назначения) не может превышать 100.

Основные различия

В этом разделе рассматриваются основные различия между Routes API и сервисами, которые он заменяет, а также способы устранения этих различий при переносе из этих сервисов в существующие приложения.

Вызов одного сервиса вместо двух

Routes API Включите в API Console только один сервис, чтобы приложение могло использовать Compute Routes и Compute Route Matrix.
Подробнее о настройке в Google API Console…
Directions API
Distance Matrix API
Включите два сервиса: Directions API и Distance Matrix API как отдельные сервисы в API Console.

Использует запросы HTTPS POST

Routes API Передавайте параметры в теле запроса или в заголовках как часть запроса HTTP POST.
Примеры можно найти в следующих статьях:
– Как рассчитать маршрут
– Как рассчитать матрицу маршрутов
Directions API
Distance Matrix API
Передавайте параметры URL с помощью запроса HTTP GET.

Различия в расчетном времени прибытия

Routes API возвращает расчетное время прибытия и использует свойство ответа duration иначе, чем Directions API и Distance Matrix API, как показано в таблице ниже.

Тип расчетного времени прибытия Routes API Directions API
Distance Matrix API
Расчетное время прибытия без учета трафика.

Задайте с помощью TRAFFIC_UNAWARE.

  • Расчетное время прибытия, указанное в свойстве ответа duration.
  • Свойства ответа duration и staticDuration содержат одинаковые значения.

Соответствует ситуации, когда в запросе не задано значение departure_time.

  • Расчетное время прибытия, указанное в свойстве ответа duration.
  • Свойство ответа duration_in_traffic не возвращается.
Расчетное время прибытия с учетом загруженности дорог в реальном времени.

Задайте с помощью TRAFFIC_AWARE или TRAFFIC_AWARE_OPTIMAL.

  • Расчетное время прибытия с учетом дорожной обстановки в реальном времени содержится в свойстве ответа duration.
  • Свойство ответа staticDuration содержит продолжительность поездки по маршруту без учета загруженности дорог.
  • Свойство duration_in_traffic больше не возвращается.

Задается с помощью параметра departure_time в запросе.

  • Расчетное время прибытия с учетом дорожной обстановки в реальном времени содержится в свойстве ответа duration_in_traffic.

Путевые точки ломаных линий

Вам больше не нужно преобразовывать координаты широты и долготы в путевые точки ломаной линии с помощью этого сервиса, который поддерживает тело запроса POST и поэтому больше не зависит от ограничений на длину строки URL. Некоторые пользователи Distance Matrix API решили проблему с лимитами запросов, преобразовав точки широты и долготы в путевые точки ломаной линии.

Форматированные адреса (обратное геокодирование)

Routes API не предоставляет отформатированные адреса в ответе. Чтобы получить отформатированные адреса, используйте Geocoding API, который предназначен для этой цели и обеспечивает более высокое качество результатов.

Доступные способы передвижения

Как и в Directions API, в Routes API по умолчанию используется способ передвижения DRIVE, если в запросе маршрута не указан способ передвижения. Однако если в запросе указан способ передвижения, Routes API не возвращает массив доступных способов передвижения в качестве альтернативных вариантов. Если вы используете эту функцию,сообщите нам об этом, чтобы мы могли связаться с вами.

XML в качестве формата ответа

Routes API не поддерживает XML в качестве формата ответа. В интернете можно найти множество конвертеров JSON в XML, которые подойдут для ваших целей.