Calcola le tariffe per i pedaggi per un percorso

Quando si calcola un percorso o una matrice di route, è consigliabile prendere in considerazione i pedaggi per il percorso. Per alcune città, puoi calcolare la tariffa stimata 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à a pagamento supportate, consulta il riferimento relativo a TollPass.

Come vengono calcolati i pedaggi

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

Per ottenere stime dei pedaggi precisi, 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 alimentato a benzina.
  • Tutti i pass pedaggio utilizzati dal veicolo e dal conducente utilizzando (TollPass). L'API utilizza i pass per determinare l'accuratezza dei pedaggi e restituisce i prezzi in contanti quando i pedaggi nella richiesta non sono locali del percorso.
  • Specifica evitare pedaggi, se necessario. Se vuoi evitare strade a pedaggio, dove possibile, aggiungi avoidTolls come RouteModifier.

Calcolare i pedaggi utilizzando un pedaggio

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

  • Se specifichi un pedaggio non valido, viene ignorato.

  • Se specifichi più pass per pedaggi, sotto forma di array, l'API tenta di calcolare il prezzo del percorso per ciascun pass.

Il comportamento dei pass a pedaggio può variare in base alla regione.

  • Le tariffe possono essere più basse con un pedaggio: in alcune aree geografiche, un conducente o un veicolo con un pedaggio paga un pedaggio diverso rispetto a quelli che non dispongono di un permesso. Ad esempio, se disponi di un pedaggio Good To Go! a Seattle, WA, US, paghi un pedaggio inferiore rispetto a quello in assenza di un pass.

  • Alcune strade potrebbero richiedere il pedaggio: alcune regioni, come l'Indonesia, hanno strade che richiedono un permesso per pedaggi. Se non specifichi un pedaggio per un percorso in cui è richiesto un pedaggio, l'API non restituisce un 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 abilitare il calcolo delle informazioni sui pedaggi.

  • Specifica il tipo di veicolo e il tipo di telepedaggio 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 viene specificato più di un pass, viene restituito il prezzo più basso.

  • 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 della risposta:

    • Campo routes.travelAdvisory.tollInfo per restituire informazioni per l'intera route.

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

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 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
            }
          ]
        }
      }
    }
  ]
}