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. Para ciudades seleccionadas, puedes calcular la tarifa de peaje 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 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, que consideren los descuentos o pases de peajes disponibles al conductor o 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 los 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 pases 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 ¡Listo! de peaje en Seattle, WA, EE.UU., pagas una tarifa más baja que si no tienes que el pase.

  • Es posible que algunas rutas requieran 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 requiera 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 computeRoutes para devolver la información de los peajes con una estimación el precio 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 peaje.

  • Especifica el tipo de vehículo y el tipo de pase de peaje con el campo routeModifiers de la solicitud. El precio del peaje que se devuelve se basa en el precio que se usa en el tipo de vehículo y el pase especificados. Si hay más de uno pase, se mostrará el precio menos costoso.

  • 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 de toda la ruta.

    • routes.legs.travelAdvisory.tollInfo para devolver información para cada etapa.

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 Por ejemplo, devuelve información sobre los peajes de toda la ruta y de cada tramo 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
            }
          ]
        }
      }
    }
  ]
}