Calcola le tariffe per i pedaggi per un percorso

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

Per ottenere i pedaggi per una matrice di percorsi, consulta Calcolare le tariffe per i pedaggi per una matrice di percorsi.

Per l'elenco delle stazioni di pedaggio supportate, consulta la documentazione di TollPass.

Come vengono calcolati i pedaggi

L'API Routes calcola la tariffa del pedaggio stimata, tenendo conto di eventuali sconti sul prezzo del pedaggio o tessere disponibili per il conducente o il veicolo, nonché dei metodi di pagamento più convenienti. Se non è disponibile un prezzo per un determinato tratto, l'API Routes indica l'esistenza di un pedaggio con una tariffa sconosciuta.

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

  • Il tipo di emissione del veicolo utilizzato per il percorso (VehicleEmissionType). Se non viene fornito alcun tipo di emissione, viene restituito il pedaggio per un veicolo a benzina.
  • Tutti i permessi di pedaggio di cui dispone il veicolo e il conducente (TollPass). L'API utilizza i permessi di pedaggio per determinare le tariffe accurate e restituisce i prezzi in contanti quando i permessi di pedaggio nella richiesta non sono locali per il percorso.
  • Specifica di evitare i pedaggi, se necessario. Se vuoi evitare le strade a pedaggio, se possibile, aggiungi avoidTolls come RouteModifier.

Calcolare i pedaggi utilizzando una tessera per il pedaggio

Per calcolare i pedaggi utilizzando una tessera, devi specificare le tessere nell'ambito della richiesta. L'API restituisce quindi i prezzi delle tessere.

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

  • Se specifichi più tessere per il pedaggio come array, l'API tenta di calcolare il prezzo del percorso per ogni tessera.

Il funzionamento delle tessere per il pedaggio può variare in base alla regione.

  • Le tariffe potrebbero essere inferiori con una tessera per il pedaggio: in alcune regioni, un conducente o un veicolo con una tessera per il pedaggio paga un pedaggio diverso rispetto a chi non ne ha una. Ad esempio, se hai una tessera per il pedaggio Good To Go! a Seattle, WA, Stati Uniti, paghi un pedaggio inferiore rispetto a chi non ne ha una.

  • Per alcune strade potrebbe essere necessario un permesso di pedaggio: in alcune regioni, come l'Indonesia, esistono strade per le quali è necessario un permesso di pedaggio. Se non specifichi una tessera per il pedaggio per un percorso in cui è richiesta una tessera per il pedaggio, l'API non restituisce un prezzo del pedaggio.

Calcolare le tariffe per un percorso

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

  • Imposta il campo dell'array extraComputations su TOLLS per attivare il calcolo delle informazioni sui pedaggi.

  • Specifica il tipo di veicolo e il tipo di tessera per il pedaggio utilizzando il routeModifiers campo della richiesta. Il prezzo del pedaggio restituito si basa sul prezzo utilizzato dal tipo di veicolo e dalla tessera specificati. Se viene specificato più di un pass, viene restituito il prezzo più basso.

  • Utilizza la maschera del campo di risposta per configurare il metodo in modo da restituire le informazioni sui pedaggi nella risposta. In questo esempio, la richiesta includeva le seguenti proprietà nella maschera del campo di risposta:

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

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

Richiesta di informazioni sui pedaggi

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 sui pedaggi

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

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