Укажите, как и следует ли включать данные о трафике

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

Установите уровень данных о трафике

API маршрутов предоставляет RoutingPreference (REST) ​​и RoutingPreference (gRPC), которые позволяют указать предпочтения маршрутизации для расчета маршрутов. Эти предпочтения различаются в степени, в которой они учитывают условия дорожного движения при расчете маршрута. Каждое предпочтение маршрутизации дает результаты, которые в определенной степени различаются в отношении качества маршрута, расчетного расчетного времени прибытия и задержки ответа.

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

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

Трафик не знает

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

TRAFFIC_UNAWARE — настройка по умолчанию.

В ответ:

  • ETA содержится в свойстве ответа duration .

  • Свойства ответа duration и staticDuration содержат одно и то же значение.

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

В курсе дорожного движения

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

В ответ:

  • ETA, учитывающее трафик в реальном времени, содержится в свойстве ответа duration .

  • Свойство ответа staticDuration содержит продолжительность проезда по маршруту без учета условий движения.

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

Оптимальный с учетом трафика

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

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

При использовании этой опции с Вычислением матрицы маршрутов количество элементов в запросе (количество источников × количество пунктов назначения) не может превышать 100. Дополнительные сведения об ограничениях Вычисления матрицы маршрутов см. в разделе Вычисление матрицы маршрутов .

В ответ:

  • ETA, учитывающее трафик в реальном времени, содержится в свойстве ответа duration .

  • Свойство ответа staticDuration содержит продолжительность проезда по маршруту без учета условий движения.

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

Эффект от установки времени отправления

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

  • Для TRAFFIC_UNAWARE вы не можете установить departureTime , поскольку выбор маршрута и продолжительности зависит от дорожной сети и средних условий движения, не зависящих от времени.

  • Для TRAFFIC_AWARE и TRAFFIC_AWARE_OPTIMAL , которые учитывают условия движения в реальном времени, движение в реальном времени становится тем более важным, чем ближе departureTime к текущему моменту. Чем дальше вы устанавливаете время отправления в будущее, тем больше внимания уделяется историческим условиям движения.

Пример настройки предпочтений маршрутизации

Следующий код JSON демонстрирует, как установить предпочтения маршрутизации в теле объекта сообщения запроса.

{
  "origin":{
    "location":{
      "latLng":{
        "latitude":37.419734,
        "longitude":-122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude":37.417670,
        "longitude":-122.079595
      }
    }
  },
  "travelMode":"DRIVE",
  "routingPreference":"TRAFFIC_AWARE_OPTIMAL"
}

Настройка трафика на полилиниях

API маршрутов позволяет запрашивать информацию об условиях дорожного движения вдоль ломаной линии с учетом трафика . Дополнительную информацию см. в разделе Запрос полилиний .