Calcular tarifas de peajes para una ruta

Cuando estás calculando una ruta o una matriz de rutas, es posible que desees tener en cuenta las tarifas de peaje 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 ver la lista de ubicaciones con peaje admitidas, 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 usó en la ruta (VehicleEmissionType). Si no se proporciona un tipo de emisión, se calculará el peaje de un vehículo que usa gasolina que se devuelven.
  • Todos los pases de peajes que tengan el vehículo y el conductor con (TollPass). La API utiliza los pases de peaje para determinar las tarifas de peaje precisas y devuelve precios en efectivo cuando los pases de peaje en la solicitud no son locales para la ruta.
  • Si es necesario, especifica cómo evitar peajes. Si deseas evitar las rutas con peaje donde 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 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. que tienen un pase de peajes pagan un peaje diferente al de aquellos que no lo tienen. 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.

  • 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 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 la 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 de array extraComputations en TOLLS para habilitar el cálculo de información sobre peajes.

  • Especifica el tipo de vehículo y el tipo de pase de peaje mediante el atributo 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: devolver la información de peaje en la respuesta. En este ejemplo, la solicitud se incluyeron 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 con información sobre peajes

La respuesta contiene información sobre los peajes de una 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
            }
          ]
        }
      }
    }
  ]
}