Ao calcular uma rota ou uma matriz de rotas, talvez você queira considerar as taxas de pedágio. Em algumas cidades, é possível calcular a taxa de pedágio estimada de uma rota na moeda apropriada.
Para saber como receber 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, consulte a referência do TollPass.
Como os pedágios são calculados
A API Routes calcula a taxa de pedágio estimada, considerando descontos ou passes disponíveis para o motorista ou veículo e as formas de pagamento mais convenientes. Se não houver um preço de pedágio disponível para uma determinada rota, a API Routes indica a existência de um pedágio com uma 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 na rota
(
VehicleEmissionType). Se nenhum tipo de emissão for fornecido, o pedágio de um veículo a gasolina será retornado. - Todos os passes de pedágio que o veículo e o motorista têm usando
(
TollPass). A API usa os passes de pedágio para determinar as taxas precisas e retorna os preços em dinheiro quando os passes de pedágio na solicitação não são locais para a rota. - Especifique evitar pedágios, se necessário. Se você quiser evitar vias com pedágio sempre que possível, adicione
avoidTollscomo umRouteModifier.
Calcular pedágios usando um tag de pedágio
Para calcular pedágios usando uma tag de pedágio, especifique as tags de pedágio como parte da solicitação. A API retorna os preços dos passes.
Se você especificar uma tag de pedágio inválida, a tag será ignorada.
Se você especificar vários passes de pedágio como uma matriz, a API vai tentar calcular o preço da rota para cada passe.
A forma como os passes de pedágio funcionam pode variar de acordo com a região.
As taxas podem ser mais baixas com um tag de pedágio: em algumas regiões, um motorista ou veículo com um tag de pedágio paga um pedágio diferente daqueles que não têm um tag. Por exemplo, se você tiver um tag de pedágio Good To Go! em Seattle, Washington, EUA, vai pagar um pedágio mais baixo do que se não tiver um passe.
Algumas vias podem exigir um tag de pedágio: algumas regiões, como a Indonésia, têm vias que exigem um tag de pedágio. Se você não especificar um tag de pedágio para uma rota em que ele é obrigatório, a API não vai retornar um preço de pedágio.
Calcular taxas de pedágio para uma rota
O exemplo a seguir usa o
computeRoutes
método para retornar informações de pedágio com um preço estimado
quando um tag de pedágio é usado. Neste exemplo, você:
Defina o campo de matriz
extraComputationscomoTOLLSpara ativar 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
routeModifiersda 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 um passe 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 de campo de resposta:
Campo
routes.travelAdvisory.tollInfopara retornar informações de toda a rota.routes.legs.travelAdvisory.tollInfopara retornar informações de cada trecho.
Solicitação de informações de pedágio
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 de pedágio
A resposta contém informações sobre pedágios em um TollInfo (REST) ou TollInfo (gRPC) objeto. Neste exemplo, você retorna informações de pedágio para toda a rota e para cada trecho dela.
{ "routes": [ { "legs": [ { "travelAdvisory": { "tollInfo": { "estimatedPrice": [ { "currencyCode": "USD", "units": "4", "nanos": 400000000 } ] } } } ], "distanceMeters": 150338, "duration": "6650s", "travelAdvisory": { "tollInfo": { "estimatedPrice": [ { "currencyCode": "USD", "units": "4", "nanos": 400000000 } ] } } } ] }