Calcular tarifas de peaje para una ruta

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 como RouteModifier 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 en TOLLS 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 ruta

    • routes.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
            }
          ]
        }
      }
    }
  ]
}