Calcular tarifas de pedágio de um trajeto

Ao calcular um trajeto ou uma matriz de trajetos, considere as tarifas de pedágio. Para cidades selecionadas, você pode calcular a taxa de pedágio estimada para um trajeto na moeda apropriada.

Para ver os pedágios em uma matriz de trajeto, consulte Calcular tarifas de pedágio em uma matriz de trajeto.

Para ver a lista de locais de pedágios compatíveis, consulte a referência do TollPass.

Como os pedágios são calculados

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

Para ter 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 for informado, o pedágio de um veículo com combustível a gasolina é retornado.
  • Todos os passes de pedágio que o veículo e o motorista usam (TollPass). A API usa esses itens para determinar as taxas de pedágio com precisão e retorna os preços em dinheiro quando os passes na solicitação não são locais do trajeto.
  • Especificar que é preciso evitar pedágios, se necessário Se você quiser evitar vias com pedágio sempre que possível, adicione avoidTolls como RouteModifier.

Calcular pedágios usando tags de pedágio

Para calcular pedágios usando uma tag de pedágio, especifique todos eles como parte da solicitação. Em seguida, 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ários passes de pedágio como uma matriz, a API vai tentar calcular o preço da rota para cada cartão.

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

  • As tarifas podem ser menores com um cartão de pedágio: em algumas regiões, um motorista ou veículo com tag de pedágio paga um pedágio diferente daqueles que não têm um cartão. Por exemplo, em um pedágio com um pedágio Bom para ir! em Seattle, WA, EUA, o pedágio é menor do que se não tem um.

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

Calcular as tarifas de pedágio de uma rota

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

  • 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 no preço usado pelo tipo de veículo e cartão especificados. Se mais de uma passagem for especificada, 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 sobre o trajeto inteiro.

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