Как рассчитать стоимость проезда по платным дорогам на маршруте

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

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

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

Список поддерживаемых платных дорог можно найти в справочной статье о TollPass.

Как рассчитывается стоимость проезда по платным дорогам

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

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

  • Тип выбросов транспортного средства, используемого на маршруте (VehicleEmissionType). Если тип выбросов не указан, возвращается стоимость проезда для автомобиля с бензиновым двигателем.
  • Все абонементы на проезд, которые есть у водителя и автомобиля, с помощью параметра TollPass. API использует абонементы на проезд, чтобы точно рассчитывать плату за проезд, и возвращает цены при оплате наличными, если абонементы на проезд в запросе не относятся к маршруту.
  • Укажите, нужно ли избегать платных дорог. Если вы хотите избегать платных дорог, где это возможно, добавьте avoidTolls в качестве RouteModifier.

Как рассчитывать стоимость проезда по платным дорогам с помощью абонемента на проезд

Чтобы рассчитать стоимость проезда по платным дорогам с помощью абонемента на проезд, укажите его в запросе. После этого API возвращает цены на билеты.

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

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

Принцип работы абонементов на проезд может различаться в зависимости от региона.

  • Стоимость проезда может быть ниже при наличии абонемента. В некоторых регионах водители или транспортные средства с абонементом на проезд платят за проезд меньше, чем те, у кого его нет. Например, если у вас есть абонемент на проезд Good To Go! в Сиэтле (штат Вашингтон, США), вы платите за проезд по платным дорогам меньше, чем если бы у вас его не было.

  • На некоторых дорогах может потребоваться транспондер. В некоторых регионах, например в Индонезии, есть дороги, для проезда по которым нужен транспондер. Если вы не укажете абонемент на проезд для маршрута, на котором он требуется, API не вернет стоимость проезда.

Как рассчитать стоимость проезда по платной дороге

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

  • Чтобы включить расчет стоимости платных дорог, задайте для поля массива extraComputations значение TOLLS.

  • Укажите тип транспортного средства и тип абонемента на проезд с помощью поля routeModifiers в запросе. Возвращаемая стоимость проезда зависит от цен, установленных для указанного типа транспортного средства и пропуска. Если указано несколько абонементов, возвращается самый дешевый.

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

    • routes.travelAdvisory.tollInfo, чтобы получить информацию о всем маршруте.

    • routes.legs.travelAdvisory.tollInfo, чтобы получить информацию о каждом этапе.

Запрос информации о платных дорогах

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude":42.340173523716736,
        "longitude":-71.05997968330408
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude":42.075698891472804,
        "longitude": -72.59806562080408
      }
    }
  },
  "travelMode": "DRIVE",
  "extraComputations": ["TOLLS"],
  "routeModifiers":{
    "vehicleInfo":{
      "emissionType": "GASOLINE"
    },
    "tollPasses": [
      "US_MA_EZPASSMA",
      "US_WA_GOOD_TO_GO"
    ]
  }
}' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.travelAdvisory.tollInfo,routes.legs.travelAdvisory.tollInfo' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Ответ, содержащий информацию о платных дорогах

Ответ содержит информацию о платных дорогах в объекте TollInfo (REST) или TollInfo (gRPC). В этом примере вы возвращаете информацию о платных дорогах для всего маршрута и для каждого его участка.

{
  "routes": [
    {
      "legs": [
        {
          "travelAdvisory": {
            "tollInfo": {
              "estimatedPrice": [
                {
                  "currencyCode": "USD",
                  "units": "4",
                  "nanos": 400000000
                }
              ]
            }
          }
        }
      ],
      "distanceMeters": 150338,
      "duration": "6650s",
      "travelAdvisory": {
        "tollInfo": {
          "estimatedPrice": [
            {
              "currencyCode": "USD",
              "units": "4",
              "nanos": 400000000
            }
          ]
        }
      }
    }
  ]
}