Как задать настройки трафика

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

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

  • С учетом загруженности дорог: возвращает наиболее точные результаты (с большей задержкой).
  • Без учета дорожной обстановки: результаты возвращаются как можно быстрее (с минимальной задержкой).

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

Как задать уровень загруженности дорог и модель трафика

Чтобы указать уровень трафика, задайте для ComputeRoutesRequest значение routingPreference. Ниже перечислены доступные варианты 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 Карты".

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

Вот какие ответы вы увидите:

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

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

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

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

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

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

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

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

  • Задайте для travelMode значение 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'],
};