Установить параметры трафика

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

Выбранные вами настройки трафика обеспечивают баланс между точностью сведений о маршруте и производительностью запроса одним из двух способов:

  • Информация о дорожном движении: предоставление максимально точных результатов (более высокая задержка).
  • Не обращайте внимания на дорожную ситуацию: возвращайте результаты как можно быстрее (минимальная задержка).

При отправке запроса подумайте, что лучше: вернуть максимально точные результаты или как можно быстрее. Библиотека маршрутов предоставляет возможности, позволяющие контролировать качество данных ответа и задержку ответа.

Установите уровень трафика и модель трафика

Чтобы указать уровень трафика, установите routingPreference в ComputeRoutesRequest . В следующем списке представлены доступные параметры routingPreference :

  • TRAFFIC_UNAWARE (по умолчанию): возвращает результаты максимально быстро, с приблизительными данными о маршруте.
  • TRAFFIC_AWARE : возвращает более точные результаты, используя данные о дорожном движении в реальном времени, но с большей задержкой.
  • TRAFFIC_AWARE_OPTIMAL : Возвращает максимально точные результаты, используя данные о дорожном движении в реальном времени, но с максимальной задержкой.

Свойство TRAFFIC_MODEL представляет собой предположения, которые следует использовать при прогнозировании продолжительности движения ( TrafficModel.BEST_GUESS (по умолчанию), TrafficModel.OPTIMISTIC , TrafficModel.PESSIMISTIC ).

Как выбрать маршрутизацию с учетом трафика

Чтобы создать запрос маршрута с учетом дорожной ситуации, выполните следующие действия:

  1. Установите свойство travelMode на DRIVING .

  2. Задайте для свойства routingPreference одно из следующих значений:

    • TRAFFIC_AWARE
    • TRAFFIC_AWARE_OPTIMAL

    ПРИМЕЧАНИЕ: TRAFFIC_UNAWARE — настройка по умолчанию.

  3. Задайте для свойства trafficModel одно из следующих значений:

  4. Установите для свойства extraComputations значение TRAFFIC_ON_POLYLINE .

  5. Запросите поля path , speedPaths и routeLabels .

В следующем примере запроса показано, как запросить маршрут с учетом дорожного движения, который отображает данные о дорожном движении на ломаной линии:

// Define a traffic aware routes request with polylines.
const requestWithTraffic = {
  origin: '200 King St San Francisco, CA 94107',
  destination: 'Pier 41, San Francisco, CA 94133',
  travelMode: 'DRIVING',
  routingPreference: 'TRAFFIC_AWARE_OPTIMAL',
  trafficModel: 'optimistic',
  extraComputations: ['TRAFFIC_ON_POLYLINE'],
  fields: ['speedPaths'],
};
    

Условия дорожного движения

Условия дорожного движения характеризуют скорость транспортного потока:

  • Нормальное движение: пробок нет, транспорт движется с обычной скоростью.
  • Низкая или умеренная интенсивность движения: увеличение загруженности дорог, движение транспорта с пониженной скоростью.
  • Интенсивное движение: сильные заторы со значительно сниженной скоростью движения.

Не осведомлены о дорожном движении

TRAFFIC_UNAWARE — настройка по умолчанию. Используйте этот параметр маршрутизации, если вы хотите получать ответы максимально быстро и приблизительные данные о маршруте вас устраивают.

Маршруты TRAFFIC_UNAWARE рассчитываются без учёта текущей дорожной ситуации. Такой приоритет маршрутизации обеспечивает максимально быстрый ответ на запрос (минимальную задержку).

Если выбран вариант TRAFFIC_UNAWARE , выбранный маршрут и длительность будут зависеть от дорожной сети и средней дорожной обстановки, не зависящей от времени, а не от текущей дорожной обстановки. Следовательно, маршруты могут включать временно закрытые дороги. Результаты по данному запросу могут меняться со временем из-за изменений в дорожной сети, обновленных средних дорожных условий и распределенного характера обслуживания. Результаты также могут различаться для практически эквивалентных маршрутов в любое время и с любой частотой.

Вот ответы, которые вы увидите:

  • duration : содержит расчетное время прибытия по маршруту.
  • staticDuration : расчетное время прибытия по маршруту с учетом только исторической информации о дорожном движении. Для TRAFFIC_UNAWARE это значение совпадает с duration .

Информация о дорожном движении

Используйте этот параметр маршрутизации, когда вам нужны более точные сведения о маршрутизации, чем TRAFFIC_UNAWARE , и при этом вас не беспокоит, если ответы будут возвращаться с умеренным увеличением задержки.

При настройке маршрутизации TRAFFIC_AWARE сервис рассчитывает маршрут с учётом текущей дорожной ситуации. В результате маршрут и его детали более точно отражают реальные условия. Поскольку повышение качества данных достигается за счёт задержки ответа, для её значительного сокращения применяются меры оптимизации производительности.

Вот ответы, которые вы увидите:

  • duration : расчетное время прибытия рассчитывается с учетом информации о дорожной обстановке в режиме реального времени.
  • staticDuration : расчетное время прибытия по маршруту с учетом только исторической информации о дорожном движении.

Оптимальный с учетом дорожного движения

Используйте этот параметр маршрутизации, когда вам нужны результаты высочайшего качества, независимо от времени ответа. Этот параметр маршрутизации обеспечивает самую большую задержку в ответах (наивысшую задержку).

При установке параметра маршрутизации TRAFFIC_AWARE_OPTIMAL сервис рассчитывает маршрут с учётом текущей дорожной ситуации, но не применяет оптимизацию производительности. В этом режиме сервер выполняет более тщательный поиск оптимального маршрута в дорожной сети.

Настройки маршрутизации TRAFFIC_AWARE_OPTIMAL эквивалентны режиму, используемому maps.google.com и мобильным приложением Google Maps.

При использовании этой опции с computeRouteMatrix количество элементов в запросе (количество источников × количество пунктов назначения) не может превышать 25.

Вот ответы, которые вы увидите:

  • duration : расчетное время прибытия на маршрут с учетом информации о дорожной обстановке в режиме реального времени.
  • staticDuration : расчетное время прибытия по маршруту с учетом только исторической информации о дорожном движении.

Установить время отправления (необязательно)

Используйте это свойство только для запросов с учётом дорожной ситуации, когда время отправления должно быть в будущем. Если свойство departureTime не задано, по умолчанию будет использоваться время отправки запроса.

Используйте свойство departureTime вместе с параметрами TRAFFIC_AWARE и TRAFFIC_AWARE_OPTIMAL , когда вы хотите настроить способ, которым служба прогнозирует трафик при выборе маршрута.

  • TRAFFIC_UNAWARE : Не рекомендуется , поскольку выбор маршрута и его продолжительность зависят от дорожной сети и средних, не зависящих от времени условий дорожного движения.
  • TRAFFIC_AWARE и TRAFFIC_AWARE_OPTIMAL : рекомендуются для отправлений, запланированных на ближайшее время, поскольку эти настройки учитывают текущую дорожную ситуацию. Чем ближе время departureTime к текущему моменту, тем важнее и актуальнее текущая дорожная ситуация. Чем дальше задано время отправления, тем больше учитывается историческая дорожная ситуация при выборе маршрута.

Получить токен маршрута

Токены маршрута — это веб-безопасное представление маршрута в кодировке Base64. Используйте токен маршрута для передачи маршрута в Navigation SDK. SDK использует этот токен для реконструкции маршрута и сохранения исходного навигационного намерения даже при перенаправлении.

Чтобы получить токен маршрута, выполните следующие действия:

  • Установите режим путешествия на DRIVING .
  • Установите для routingPreference значение TRAFFIC_AWARE или TRAFFIC_AWARE_OPTIMAL .
  • Запросите поле routeToken .

В следующем примере запроса показано, как запросить токен маршрута:

// Define a traffic aware routes request with a route token.
const requestWithRouteToken = {
  origin: '200 King St San Francisco, CA 94107',
  destination: 'Pier 41, San Francisco, CA 94133',
  travelMode: 'DRIVING',
  routingPreference: 'TRAFFIC_AWARE',
  fields: ['path', 'speedPaths', 'routeLabels', 'routeToken'],
};