Рассчитать плату за проезд по маршруту

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

Чтобы узнать стоимость дорожных сборов для матрицы маршрутов, см. раздел Расчет платы за проезд для матрицы маршрутов .

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

Как рассчитываются сборы

API маршрутов рассчитывает ориентировочную плату за проезд с учетом любых скидок или пропусков, доступных водителю или транспортному средству, а также наиболее удобных способов оплаты. Если для данного маршрута нет доступной цены за проезд, 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
            }
          ]
        }
      }
    }
  ]
}