Calcular tarifas de pedágio de um trajeto

Ao computar uma rota ou uma matriz de rotas, considere as taxas de pedágio do trajeto. Para algumas cidades, você pode calcular a taxa de pedágio estimada para um trajeto na moeda apropriada.

Para saber os pedágios de uma matriz de rotas, confira Calcular as tarifas dos pedágios para uma matriz de rotas.

Para ver a lista de locais com pedágios, consulte a referência da TollPass.

Como os pedágios são calculados

A API Routes calcula a taxa de pedágio estimada, considerando todos os descontos ou passes disponíveis para o motorista ou veículo e as formas de pagamento mais convenientes. Se não houver 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 de pedágio precisas, 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 cartões de pedágio 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.
  • Especifique como evitar pedágios, se necessário. Se quiser evitar vias com pedágio sempre que possível, adicione avoidTolls como RouteModifier.

Calcular pedágios usando passes de pedágio

Para calcular pedágios usando uma tag de pedágio, é preciso especificar os passes livres como parte da solicitação. Em seguida, a API retorna os preços do cartão.

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

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

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

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

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

Calcular as taxas de pedágio de um trajeto

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

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

  • 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 cartão especificados. 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 para retornar informações de pedágio na resposta. Neste exemplo, a solicitação incluiu as seguintes propriedades na máscara do campo de resposta:

    • 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 contendo informações sobre pedágio

A resposta contém informações sobre pedágios em um objeto TollInfo (REST) ou TollInfo (gRPC). Neste exemplo, são retornadas informações sobre pedágios para todo o trajeto e para cada trecho do trajeto.

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