Calcular tarifas de peajes para una ruta

Cuando calcules una ruta o una matriz de rutas, es posible que debas tener en cuenta los peajes de la ruta. En algunas ciudades, puedes calcular la tarifa de peaje estimada para una ruta en la moneda correspondiente.

Para obtener peajes para una matriz de rutas, consulta Cómo calcular los peajes de una matriz de rutas.

Para obtener la lista de las ubicaciones de peaje compatibles, consulta la referencia de TollPass.

Cómo se calculan los peajes

La API de Routes calcula la tarifa de peaje estimada, teniendo en cuenta los descuentos o pases de peaje disponibles para el conductor o el vehículo, y 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 obtener estimaciones precisas de peajes, asegúrate de incluir la siguiente información en tu solicitud:

  • El tipo de emisión del vehículo que se usa para la ruta (VehicleEmissionType). Si no se proporciona ningún tipo de emisión, se muestra el peaje de un vehículo a gasolina.
  • Todos los pases de peaje que tienen el vehículo y el conductor (TollPass). La API usa los pases de peaje para determinar tarifas de peaje precisas y muestra los precios en efectivo cuando los pases de peaje de la solicitud no son locales para la ruta.
  • Si es necesario, especifica cómo evitar peajes. Si deseas evitar rutas con peaje siempre que sea posible, agrega avoidTolls como RouteModifier.

Cómo calcular los peajes con un pase de peaje

Para calcular los peajes con un pase de peaje, especifica los pases de peaje como parte de la solicitud. Luego, la API muestra los precios de los pases.

  • Si especificas un pase de peaje no válido, se ignorará.

  • Si especificas varios pases de peaje como un array, la API intentará calcular el precio de la ruta para cada pase.

El comportamiento de los pases de peaje puede variar según la región.

  • Las tarifas pueden ser más bajas con un pase de peaje: En algunas regiones, un conductor o un vehículo con un pase de peaje paga un peaje diferente al de quienes no tienen un pase. Por ejemplo, si tienes un pase de peaje Good To Go! en Seattle, Washington, EE.UU., pagarás un peaje más bajo que si no tienes un pase.

  • Algunas rutas pueden requerir un pase de peaje: Algunas regiones, como Indonesia, tienen rutas que requieren un pase de peajes. Si no especificas un pase de peaje para una ruta en la que se requiere un pase de peaje, la API no muestra un precio de peaje.

Calcula los peajes de una ruta

En el siguiente ejemplo, se usa el método computeRoutes para mostrar información de los peajes con un precio estimado cuando se utiliza un pase de peaje. En este ejemplo, debes hacer lo siguiente:

  • Establece el campo de array extraComputations en TOLLS para habilitar el cálculo de la información de peajes.

  • Especifica el tipo de vehículo y el tipo de pase de peaje en el campo routeModifiers de la solicitud. El precio del peaje que se muestra se basa en los precios que usa el tipo de vehículo y el pase especificados. Si se especifica más de un pase, se muestra el precio más económico.

  • Usa la máscara de campo de respuesta para configurar el método para que muestre la información de peaje en la respuesta. En este ejemplo, la solicitud incluyó las siguientes propiedades en la máscara de campo de respuesta:

    • routes.travelAdvisory.tollInfo para mostrar información de la ruta completa.

    • routes.legs.travelAdvisory.tollInfo para mostrar información para cada tramo.

Solicitud de información sobre 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 que contiene información sobre peajes

La respuesta contiene información sobre los peajes en un objeto TollInfo (REST) o TollInfo (gRPC). En este ejemplo, se muestra información sobre los peajes de toda la ruta y de cada tramo.

{
  "routes": [
    {
      "legs": [
        {
          "travelAdvisory": {
            "tollInfo": {
              "estimatedPrice": [
                {
                  "currencyCode": "USD",
                  "units": "4",
                  "nanos": 400000000
                }
              ]
            }
          }
        }
      ],
      "distanceMeters": 150338,
      "duration": "6650s",
      "travelAdvisory": {
        "tollInfo": {
          "estimatedPrice": [
            {
              "currencyCode": "USD",
              "units": "4",
              "nanos": 400000000
            }
          ]
        }
      }
    }
  ]
}