В настоящее время Routes API находится в предварительной версии (pre-GA). Продукты и функции до общедоступной версии могут иметь ограниченную поддержку, а изменения в продуктах и ​​функциях до общедоступной версии могут быть несовместимы с другими версиями до общедоступной версии. Предложения Pre-GA подпадают под действие Особых условий использования платформы Google Карт . Дополнительные сведения см. в описаниях стадий запуска .

Настройка качества и задержки

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

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

Настройка уровня данных о трафике

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

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

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

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

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

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

В ответе:

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

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

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

Информация о трафике

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

В ответе:

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

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

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

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

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

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

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

В ответе:

  • Расчетное время прибытия, учитывающее трафик в реальном времени, содержится в свойстве ответа 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"
}

Настройка качества полилиний

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

Качество полилинии можно описать следующими терминами:

  • Количество точек, из которых состоит полилиния

    Чем больше точек, тем глаже полилиния (особенно на кривых).

  • Точность точек с плавающей запятой

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

Метод ComputeRoutes (REST) ​​и метод ComputeRoutes (gRPC) поддерживают параметр запроса polylineQuality для управления качеством полилиний.

Пример настройки качества полилинии

polylineQuality определяет качество полилинии как HIGH_QUALITY или OVERVIEW (по умолчанию). С OVERVIEW полилиния строится с использованием небольшого количества точек и имеет меньшую задержку запроса, чем HIGH_QUALITY .

Например, в теле запроса:

{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "polylineQuality": "HIGH_QUALITY",
  "polylineEncoding": "ENCODED_POLYLINE", 
  "departureTime": "2023-10-15T15:01:23.045123456Z",
  ...
}