Calcular tarifas de pedágio de um trajeto

Ao calcular uma rota ou uma matriz de rotas, considere as taxas de pedágio na rota. Em algumas cidades, é possível calcular a taxa de pedágio estimada para uma rota na moeda apropriada.

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 de pedágio com suporte, 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 de pedágio 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 um determinado trajeto, a API Routes vai indicar a existência de um pedágio com taxa desconhecida.

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

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

Calcular pedágios usando passes de pedágio

Para calcular pedágios usando um passe, especifique os passes como parte da solicitação. A API retorna os preços dos cartões.

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

  • Se você especificar várias passagens de pedágio como uma matriz, a API tentará calcular o preço da rota para cada uma delas.

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 pedágio diferente do que não tem um passe. Por exemplo, se você tiver um passe de pedágio Good To Go! em Seattle, Washington, EUA, vai pagar uma tarifa 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 uma rota em que ele é necessário, a API não vai retornar o preço do 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 cartão de pedágio é usado. Neste exemplo, você:

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

  • Especifique o tipo de veículo e o tipo de tag de pedágio usando o campo routeModifiers da solicitação. O preço do pedágio retornado é baseado no preço usado pelo tipo de veículo e pelo cartão especificado. Se mais de um cartão for especificado, o preço mais barato será retornado.

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

    • Campo routes.travelAdvisory.tollInfo para retornar informações de todo o trajeto.

    • routes.legs.travelAdvisory.tollInfo para retornar informações para 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 com informações de pedágio

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
            }
          ]
        }
      }
    }
  ]
}