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 del percorso, consulta Calcolare i pedaggi per una matrice del percorso.
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 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, 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 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
comeRouteModifier
.
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 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 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 dei pedaggi per un itinerario
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
suTOLLS
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 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 le 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, 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 } ] } } } ] }