Calcola le tariffe per i pedaggi per un percorso

Quando calcoli un percorso o una matrice di percorsi, ti consigliamo di prendere in considerazione gli eventuali pedaggi lungo il percorso. Per alcune città, puoi calcolare la tariffa stimata per un percorso nella valuta appropriata.

Per ottenere i pedaggi per una matrice del percorso, consulta Calcolare i pedaggi per una matrice del percorso.

Per l'elenco delle località a pedaggio supportate, vedi le informazioni di riferimento di TollPass.

Come vengono calcolati i pedaggi

L'API Routes calcola la tariffa stimata del pedaggio, prendendo in considerazione eventuali sconti sui prezzi dei pedaggi o pass disponibili per il conducente o il veicolo, e i metodi di pagamento più comodi. Se non è disponibile alcun prezzo del pedaggio per un determinato percorso, l'API Routes indica l'esistenza di un pedaggio con una tariffa sconosciuta.

Per ottenere stime dei pedaggi accurate, assicurati di includere nella richiesta le seguenti informazioni:

  • Il tipo di emissione del veicolo utilizzato per il percorso (VehicleEmissionType). Se non viene fornito alcun tipo di emissione, il pedaggio per un veicolo a benzina viene restituito.
  • Tutti i pedaggi di cui il veicolo e il conducente hanno utilizzando (TollPass). L'API utilizza i pass per pedaggi per determinare con precisione i pedaggi e restituisce i prezzi in contanti quando i pedaggi nella richiesta non sono locali rispetto al percorso.
  • Specificare l'opzione da evitare a pedaggio, se necessario. Se vuoi evitare le strade a pedaggio, ove possibile, aggiungi avoidTolls come RouteModifier.

Calcolare i pedaggi con i pedaggi

Per calcolare i pedaggi utilizzando un permesso, devi specificare tutti i permessi nella richiesta. L'API restituisce quindi i prezzi dei pass.

  • Se specifichi una tessera a pedaggio non valida, questa viene ignorata.

  • Se specifichi più tessere per pedaggi come array, l'API tenta di calcolare il prezzo della tratta per ogni pass.

Il comportamento dei pass per pedaggi può variare in base alla regione.

  • Le tariffe possono essere inferiori con un pedaggio: in alcune regioni, un conducente o un veicolo con un pedaggio paga un pedaggio diverso rispetto a chi non dispone di un permesso. Ad esempio, se disponi di un pass pedaggio Good To Go! a Seattle, WA, USA, paghi un pedaggio inferiore rispetto a se non disponi di un pass.

  • Alcune strade potrebbero richiedere un pedaggio: in alcune regioni, come l'Indonesia, ci sono strade che richiedono un pedaggio. Se non specifichi un pedaggio per un percorso in cui è richiesto un pedaggio, l'API non restituisce alcun prezzo.

Calcolare le tariffe dei pedaggi per un itinerario

L'esempio seguente utilizza il metodo computeRoutes per restituire informazioni sui pedaggi con un prezzo stimato quando si utilizza un pedaggio. In questo esempio:

  • Imposta il campo array extraComputations su TOLLS per abilitare il calcolo delle informazioni sui pedaggi.

  • Specifica il tipo di veicolo e il tipo di pedaggio utilizzando il campo routeModifiers della richiesta. Il prezzo del pedaggio restituito si basa sul prezzo utilizzato dal tipo di veicolo e dal pass specificati. Se vengono specificate più tessere, viene restituito il prezzo meno costoso.

  • Utilizza la maschera del campo della risposta per configurare il metodo per restituire le informazioni sul pedaggio nella risposta. In questo esempio, la richiesta includeva le seguenti proprietà nella maschera del campo di risposta:

    • routes.travelAdvisory.tollInfo per restituire informazioni per l'intero percorso.

    • routes.legs.travelAdvisory.tollInfo per restituire informazioni per ogni tratta.

Richiesta di informazioni sul pedaggio

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'

Risposta contenente informazioni sul pedaggio

La risposta contiene informazioni sui pedaggi in un oggetto TollInfo (REST) o TollInfo (gRPC). In questo esempio, le informazioni sui pedaggi vengono restituite per l'intero percorso e per ogni tratta.

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