Calcular tarifas de pedágio de um trajeto

Desenvolvedores do Espaço Econômico Europeu (EEE)

Ao calcular um trajeto ou uma matriz de trajetos, talvez você queira considerar as taxas de pedágio. Em algumas cidades, é possível calcular o valor estimado do pedágio de um trajeto na moeda adequada.

Para saber os pedágios de uma matriz de rotas, consulte Calcular taxas de pedágio para uma matriz de rotas.

Para conferir a lista de locais com pedágio aceitos, consulte a referência de TollPass.

Como os pedágios são calculados

A API Routes calcula a taxa de pedágio estimada, considerando os descontos ou tags disponíveis para o motorista ou veículo e os métodos de pagamento mais convenientes. Se não houver um preço de pedágio disponível para uma determinada rota, a API Routes vai indicar a existência de um pedágio com uma taxa desconhecida.

Para receber estimativas precisas de pedágio, inclua as seguintes informações na sua solicitação:

  • O tipo de emissão do veículo usado no trajeto (VehicleEmissionType). Se nenhum tipo de emissão for informado, o pedágio de um veículo a gasolina será retornado.
  • Todos os pedágios que o veículo e o motorista têm usando (TollPass). A API usa os pedágios para determinar taxas precisas e retorna preços em dinheiro quando os pedágios na solicitação não são locais da rota.
  • Especifique "evitar pedágios", se necessário. Se quiser evitar vias com pedágio sempre que possível, adicione avoidTolls como um RouteModifier.

Calcular pedágios usando um passe de pedágio

Para calcular pedágios usando um passe, especifique os passes como parte da solicitação. Em seguida, a API retorna os preços dos passes.

  • Se você especificar um passe de pedágio inválido, ele será ignorado.

  • Se você especificar vários pedágios como uma matriz, a API tentará calcular o preço da rota para cada um deles.

O comportamento dos pedágios pode variar de acordo com a região.

  • As tarifas podem ser menores com um passe de pedágio: em algumas regiões, um motorista ou veículo com um passe de pedágio paga um valor diferente daqueles que não têm um passe. Por exemplo, se você tiver um passe de pedágio Good To Go! em Seattle, WA, EUA, pagará um pedágio menor do que se não tiver um passe.

  • Algumas vias podem exigir um passe de pedágio: algumas regiões, como a Indonésia, têm vias que exigem um passe de pedágio. Se você não especificar um passe de pedágio para um trajeto em que ele é obrigatório, a API não vai retornar um preço de pedágio.

Calcular as taxas de pedágio de um trajeto

O exemplo a seguir usa o método computeRoutes para retornar informações de pedágio com um preço estimado quando um passe de pedágio é usado. Neste exemplo, você:

  • Defina o campo de matriz extraComputations como TOLLS para ativar o cálculo das informações de pedágio.

  • Especifique o tipo de veículo e de pedágio usando o campo routeModifiers da solicitação. O preço do pedágio retornado é baseado nos preços usados pelo tipo de veículo e passe especificados. Se mais de uma passagem for especificada, o preço mais baixo será retornado.

  • Use a máscara de campo de resposta para configurar o método e retornar informações de pedágio na resposta. Neste exemplo, a solicitação incluiu as seguintes propriedades na máscara de campo da resposta:

    • routes.travelAdvisory.tollInfo para retornar informações sobre toda a rota.

    • routes.legs.travelAdvisory.tollInfo para retornar informações de cada trecho.

Solicitação de informações sobre pedágios

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'

Resposta contendo informações sobre pedágios

A resposta contém informações sobre pedágios em um objeto TollInfo (REST) ou TollInfo (gRPC). Neste exemplo, você retorna informações de pedágio para todo o trajeto e para cada trecho dele.

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