Calcular tarifas de peajes para una ruta

Cuando calculas una ruta o una matriz de rutas, es posible que desees tener en cuenta las tarifas de peaje de la ruta. En ciertas ciudades, puedes calcular la tarifa de peaje estimada de una ruta en la moneda correspondiente.

Para obtener los peajes de una matriz de rutas, consulta Calcula las tarifas de peaje de una matriz de rutas.

Para ver la lista de ubicaciones con peajes admitidas, consulta la referencia de TollPass.

Cómo se calculan los peajes

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

  • El tipo de emisión del vehículo utilizado en la ruta (VehicleEmissionType). Si no se proporciona un tipo de emisión, se devuelve el peaje de un vehículo que usa gasolina.
  • Todos los pases de peajes que tienen el vehículo y el conductor con (TollPass). La API usa los pases de peaje para determinar las tarifas de peaje precisas y devuelve 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 las rutas con peaje siempre que sea posible, agrega avoidTolls como RouteModifier.

Cómo calcular los peajes con pases de peaje

Para calcular los peajes con un pase de peaje, debes especificar cualquier pase 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 intenta 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 que no tiene un pase. Por ejemplo, si tienes un pase de peaje Good To Go! en Seattle, WA, EE.UU., pagarás una tarifa más baja 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 que requiere un pase de peaje, la API no mostrará el precio del peaje.

Cómo calcular las tarifas de peaje 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, hiciste 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 el precio usado por el tipo de vehículo y el pase que se especificaron. 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 de modo que se 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 de cada segmento

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 con información sobre peajes

La respuesta contiene información sobre los peajes de un objeto TollInfo (REST) o TollInfo (gRPC). En este ejemplo, se devuelve la información de 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
            }
          ]
        }
      }
    }
  ]
}