Calcola i pedaggi per un percorso

Quando calcoli una rotta o una matrice di route, puoi prendere in considerazione eventuali pedaggi per il percorso. Per alcune città, puoi calcolare il costo del pedaggio stimato per un percorso nella valuta appropriata.

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

Per l'elenco dei paesi di pedaggio supportati, consulta il riferimento per TollPass

Come vengono calcolati i pedaggi

L'API Routes calcola la tariffa stimata del pedaggio, prendendo in considerazione gli eventuali sconti o pass disponibili per il conducente o il veicolo, nonché 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 una tariffa sconosciuta.

Per calcolare con precisione le informazioni sui pedaggi, l'API Routes ti offre la possibilità di specificare:

  • 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.
  • Qualsiasi tessera pedaggio per il conducente o il veicolo applicabile (TollPass). Se non vengono specificati pass pedaggi, l'API restituisce il prezzo in contanti.
  • avoidTolls come RouteModifier per evitare strade a pedaggio.

Calcolo dei pedaggi quando si utilizza un pedaggio

In alcune regioni, un conducente o un veicolo con un pedaggio paga un pedaggio diverso rispetto a quelli sprovvisti di pass. Ad esempio, se disponi di un pedaggio Good To Go! a Seattle, WA, US, paghi un pedaggio più basso rispetto a quello in assenza di un pass.

Alcune regioni, come l'Indonesia, hanno strade che richiedono un pedaggio. Se non viene specificato un pedaggio per un percorso in cui è richiesto un pedaggio, non viene restituito alcun prezzo.

Se specifichi un pedaggio nella richiesta, l'API tenta di restituire il prezzo del pass:

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

  • Puoi specificare più pedaggi in un array. L'API tenta di calcolare il prezzo del pass per la route per ogni pass.

Calcolare i pedaggi per un percorso

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

  • Imposta il extraComputations campo array 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 utilizzato dal tipo di veicolo e dal pass specificati. Se viene specificato più di un pass, viene restituito il prezzo meno costoso.

  • Utilizza la maschera del campo di 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'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 le 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
            }
          ]
        }
      }
    }
  ]
}