Calcola le tariffe per i pedaggi per un percorso

Quando calcoli un percorso o una matrice di route, potresti prendere in considerazione i costi di pedaggio per il percorso. Per alcune città, puoi calcolare la tariffa stimata per il pedaggio per un percorso nella valuta appropriata.

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

Per l'elenco delle località di pedaggio supportate, consulta il riferimento per TollPass.

Come vengono calcolati i pedaggi

L'API Routes calcola la tariffa stimata per il pedaggio, prendendo in considerazione eventuali sconti o pass sul prezzo del pedaggio disponibili per il conducente o il veicolo e i metodi di pagamento più comodi. Se non è disponibile un prezzo del pedaggio per una determinata rotta, 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 specificato alcun tipo di emissione, viene restituito il pedaggio per un veicolo a benzina.
  • Tutti i pass pedaggio utilizzati dal veicolo e dal conducente (TollPass). L'API utilizza i pass pedaggio per determinare in modo accurato il pedaggio e restituisce i prezzi in contanti quando i pass pedaggio utilizzati nella richiesta non sono locali rispetto al percorso.
  • Specifica l'opzione Evita pedaggi, se necessario. Se vuoi evitare le strade a pedaggio, se possibile, aggiungi avoidTolls come RouteModifier.

Calcolare i pedaggi utilizzando un pedaggio

Per calcolare i pedaggi utilizzando un pass, devi specificare i pass per pedaggio nell'ambito della richiesta. L'API restituisce quindi i prezzi del pass.

  • Se specifichi un pedaggio non valido, il pass viene ignorato.

  • Se specifichi più pass per pedaggi in un array, l'API tenta di calcolare il prezzo del percorso per ogni pass.

Il comportamento dei 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 quelli che non dispongono di un pass. Ad esempio, se hai un pedaggio Good To Go! a Seattle, WA, Stati Uniti, paghi un pedaggio più basso rispetto a quando non hai un pass.

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

Calcolare i pedaggi per un percorso

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

  • Imposta il campo array extraComputations su TOLLS per consentire 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 applicato dal tipo di veicolo e dal pass specificati. Se viene specificato più di un pass, viene restituito il prezzo più economico.

  • Utilizza la maschera del campo di risposta per configurare il metodo per 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 per l'intera route.

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

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, vengono restituite informazioni sui pedaggi per l'intero percorso e per ogni tratto del percorso.

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