Calcular tarifas de peajes 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 ciertas ciudades, puedes calcular la tarifa estimada de una ruta en la moneda correspondiente.

Para obtener peajes de una matriz de rutas, consulta Cómo calcular las tarifas de peajes de una matriz de rutas.

Para 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 peajes teniendo en cuenta los descuentos o pases en los precios de los peajes que están disponibles para el conductor o el vehículo, además de 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 de peajes precisas, asegúrate de incluir la siguiente información en tu solicitud:

  • El tipo de emisión del vehículo usado para la ruta (VehicleEmissionType). Si no se proporciona un tipo de emisión, se devuelve el peaje de un vehículo que utiliza gasolina.
  • Todos los pases de peaje que tienen el vehículo y el conductor (TollPass). La API usa estos pases para determinar las tarifas de peaje precisas y devuelve precios en efectivo cuando los pases de peaje de la solicitud no se encuentren en la ruta.
  • Especifica la opción de evitar peajes en caso de ser necesario. Si deseas evitar las 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, 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 se especifican 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 los pases de peaje: En algunas regiones, un conductor o un vehículo con un pase de peaje paga una tarifa diferente a la de quienes no tienen 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 peaje. Si no especificas un pase de peaje para una ruta en la que se requiere uno, la API no mostrará un precio de 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 peaje con un precio estimado cuando se usa 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 los peajes.

  • Especifica el tipo de vehículo y el tipo de pase de peaje en el campo routeModifiers de la solicitud. El precio de 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 menos costoso.

  • Usa la máscara de campo de respuesta a fin de configurar el método para mostrar 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:

    • El campo routes.travelAdvisory.tollInfo para mostrar información de toda la ruta.

    • routes.legs.travelAdvisory.tollInfo para mostrar la información de cada etapa.

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 de peaje

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