Cuando calcules una ruta o una matriz de rutas, es posible que desees tener en cuenta las tarifas de peaje de la ruta. En algunas ciudades, puedes calcular la tarifa estimada de peaje para una ruta en la moneda correspondiente.
Para obtener los peajes de una matriz de rutas, consulta Cómo calcular las tarifas de peajes de una matriz de rutas.
Si deseas ver la lista de ubicaciones de peajes admitidas, consulta la referencia de TollPass.
Cómo se calculan los peajes
La API de Routes calcula la tarifa estimada de peaje en función de los descuentos o pases en el precio de los peajes disponibles para el conductor o el vehículo, así como las formas de pago más convenientes. Si no hay un precio de peaje disponible para una ruta determinada, la API de Routes indica la existencia de un peaje con una tarifa desconocida.
Para calcular con precisión la información de peajes, la API de Routes te brinda la opción de especificar lo siguiente:
- El tipo de emisión del vehículo que se usa para la ruta (
VehicleEmissionType
). Si no se proporciona un tipo de emisión, se muestra el peaje de un vehículo que usa gasolina. - Cualquier pase de peaje para el conductor o el vehículo que corresponda (
TollPass
). Si no se especifican pases de peaje, la API muestra el precio en efectivo. avoidTolls
comoRouteModifier
para evitar las rutas con peaje.
Cómo calcular peajes cuando se usa un pase de peaje
En algunas regiones, un conductor o un vehículo con pase de peaje paga un número distinto al de quienes no lo tienen. Por ejemplo, si tienes un pase de peaje Good To Go! en Seattle, WA, EE.UU., pagarás un peaje más bajo que si no tienes un pase.
Algunas regiones, como Indonesia, tienen rutas que requieren pases de peaje. Si no se especifica un pase de peaje para una ruta en la que se requiere uno, no se mostrará ningún precio.
Si especificas un peaje como parte de la solicitud, la API intenta mostrar el precio del pase, como se muestra a continuación:
Si especificas un pase de peaje no válido, se ignorará.
Puedes especificar varios pases de peajes como un array. La API intenta calcular el precio del pase de la ruta para cada pase.
Cómo calcular las tarifas de peajes de una ruta
En el siguiente ejemplo, se usa el método computeRoutes
para mostrar información de peajes con un precio estimado cuando se usa un pase de peaje. En este ejemplo, hiciste lo siguiente:
Establece el campo del array
extraComputations
enTOLLS
para habilitar el cálculo de la información de peajes.Especifica el tipo de vehículo y pase de peaje en el campo
routeModifiers
de la solicitud. El precio de peaje que se muestra se basa en el precio que usa el tipo de vehículo y el pase especificados. Si se especifica más de un pase, se muestra el precio menos costoso.Usa la máscara de campo de respuesta para configurar el método a fin de que muestre información de peaje en la respuesta. En este ejemplo, la solicitud incluyó las siguientes propiedades en la máscara de campo de respuesta:
El campo
routes.travelAdvisory.tollInfo
para mostrar información de toda la rutaroutes.legs.travelAdvisory.tollInfo
para mostrar la información de cada segmento.
Solicitud de información de peajes
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'
Respuesta con información sobre el peaje
La respuesta contiene información sobre peajes en un objeto TollInfo (REST) o TollInfo (gRPC). En este ejemplo, se muestra la información de los peajes de toda la ruta y de cada tramo de la ruta.
{ "routes": [ { "legs": [ { "travelAdvisory": { "tollInfo": { "estimatedPrice": [ { "currencyCode": "USD", "units": "4", "nanos": 400000000 } ] } } } ], "distanceMeters": 150338, "duration": "6650s", "travelAdvisory": { "tollInfo": { "estimatedPrice": [ { "currencyCode": "USD", "units": "4", "nanos": 400000000 } ] } } } ] }