Выбранные вами настройки трафика балансируют точность деталей маршрута с производительностью запроса одним из двух способов:
С учетом загруженности дорог. Возвращаются наиболее точные результаты (более высокая задержка).
Без учета загруженности дорог. Результаты возвращаются как можно быстрее (с минимальной задержкой).
При создании запроса решите, что для вас важнее: получить максимально точные результаты или получить их как можно быстрее. Routes API предоставляет параметры, позволяющие контролировать качество данных ответа в зависимости от задержки ответа.
Как настроить уровень трафика
В Routes API есть параметры RoutingPreference (REST) и RoutingPreference (gRPC), позволяющие задавать настройки маршрутизации для расчета маршрутов.
По умолчанию возвращаются результаты без учета трафика. Вы можете выбрать параметры трафика с помощью настроек маршрутизации TRAFFIC_UNAWARE, TRAFFIC_AWARE и TRAFFIC_AWARE_OPTIMAL. Каждый вариант дает результаты, которые различаются по качеству маршрута, расчетному времени прибытия и задержке ответа.
пробках;
Загруженность дорог характеризует скорость движения транспорта:
Обычное движение. Пробок нет, транспорт движется с обычной скоростью.
Небольшие или умеренные пробки. Загруженность дорог растет, скорость движения снижается.
Высокая загруженность. Сильные пробки, скорость движения значительно снижена.
Без учета трафика
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 Карты".
При использовании этого варианта с Compute Route Matrix количество элементов в запросе (количество пунктов отправления, умноженное на количество пунктов назначения) ограничено. Подробнее о лимитах Compute Route Matrix…
Вот какие ответы вы увидите:
duration– расчетное время прибытия с учетом загруженности дорог в реальном времени.staticDuration– расчетное время прибытия по маршруту с учетом только статистики загруженности дорог.
Укажите время отправления (необязательно)
Используйте это свойство только для запросов с учетом трафика, в которых время отправления должно быть в будущем. Если вы не зададите свойство departureTime, по умолчанию будет использоваться время отправки запроса.
Используйте свойство departureTime вместе с параметрами TRAFFIC_AWARE и TRAFFIC_AWARE_OPTIMAL, чтобы настроить прогнозирование трафика при выборе маршрута.
TRAFFIC_UNAWARE: не рекомендуется, поскольку выбор маршрута и расчет длительности поездки будут произведены с учетом средней загруженности дорог.TRAFFIC_AWAREиTRAFFIC_AWARE_OPTIMAL. Рекомендуется для поездок, которые состоятся в ближайшее время, поскольку эти настройки учитывают текущую загруженность дорог. Чем ближе время отправленияdepartureTimeк текущему моменту, тем сильнее результат будет зависеть от текущей ситуации. Чем дальше в будущем находится время отправления, тем больше учитывается загруженность дорог в прошлом при выборе маршрутов.
Пример. Как выбрать маршрут с учетом загруженности дорог
В следующем коде JSON показано, как задать предпочтительный маршрут TRAFFIC_AWARE_OPTIMAL в теле объекта сообщения запроса.
{ "origin":{ "location":{ "latLng":{ "latitude":37.419734, "longitude":-122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude":37.417670, "longitude":-122.079595 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE_OPTIMAL" }