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 umRouteModifier
.
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
comoTOLLS
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 } ] } } } ] }