Specifica come e se includere i dati sul traffico

Le preferenze di traffico selezionate bilanciano l'accuratezza dei dettagli del percorso con le prestazioni delle richieste. Quando presenti una richiesta, vuoi valutare se è meglio restituire i risultati più precisi possibile o se restituire i risultati il più rapidamente possibile. L'API Routes offre opzioni che consentono di controllare la qualità dei dati di risposta rispetto alla latenza della risposta.

Impostare il livello di dati sul traffico

L'API Routes fornisce RoutingPreference (REST) e RoutingPreference (gRPC) che consentono di specificare le preferenze di routing per il calcolo delle route. Queste preferenze sono diverse perché tengono conto delle condizioni del traffico nel calcolo del percorso. Ogni preferenza di routing produce risultati che differiscono in qualche modo per quanto riguarda la qualità del percorso, l'orario di arrivo stimato stimato e la latenza di risposta.

Le condizioni del traffico caratterizzano la velocità del flusso di traffico. Ad esempio:

  • In assenza di congestioni, le condizioni del traffico sono considerate normali e il traffico fluisce alla normale velocità senza ostacoli.
  • Quando ci si avvicina all'ora di punta, aumenta la densità del traffico, con conseguente rallentamento del traffico, che produce condizioni di traffico da leggere a moderate.
  • Nel traffico da bumper a bumper, la velocità di flusso si blocca, causando condizioni di traffico intenso.

Traffico inconsapevole

Quando imposti la preferenza di routing TRAFFIC_UNAWARE, i percorsi vengono calcolati senza tenere conto delle condizioni del traffico attuali. Questa preferenza di routing fornisce la latenza di risposta più bassa (le risposte vengono restituite più velocemente).

TRAFFIC_UNAWARE è l'impostazione predefinita.

Nella risposta:

  • L'orario di arrivo stimato è contenuto nella proprietà di risposta duration.

  • Le proprietà di risposta duration e staticDuration contengono lo stesso valore.

Utilizza questa preferenza di routing se vuoi che le risposte vengano restituite il più rapidamente possibile e i dettagli di routing approssimativi sono sufficienti.

Attenzione al traffico

Quando imposti la preferenza di routing TRAFFIC_AWARE, i percorsi vengono calcolati tenendo conto delle condizioni del traffico attuali. Di conseguenza, i dettagli di percorso e percorso rispecchiano in modo più accurato le condizioni reali. Poiché questo aumento della qualità dei dati si traduce a scapito della latenza di risposta, vengono applicate ottimizzazioni delle prestazioni per ridurre gran parte della latenza.

Nella risposta:

  • L'orario di arrivo stimato che tiene conto del traffico in tempo reale è contenuto nella proprietà di risposta duration.

  • La proprietà di risposta staticDuration contiene la durata del viaggio attraverso il percorso senza prendere in considerazione le condizioni del traffico.

Utilizza questa preferenza di routing quando vuoi dettagli di routing più precisi rispetto a TRAFFIC_UNAWARE, ma non è un problema se le risposte vengono restituite con un aumento moderato della latenza.

Sensibile al traffico ottimale

Quando imposti la preferenza di routing TRAFFIC_AWARE_OPTIMAL, le route vengono calcolate tenendo conto delle condizioni di traffico attuali, ma non vengono applicate ottimizzazioni delle prestazioni. In questa modalità, il server esegue una ricerca più approfondita della rete stradale per trovare il percorso ottimale.

La preferenza di routing TRAFFIC_AWARE_OPTIMAL equivale alla modalità utilizzata da maps.google.com e dall'app mobile Google Maps.

Quando si utilizza questa opzione con Compute Route Matrix, il numero di elementi in una richiesta (numero di origini × numero di destinazioni) non può superare 100. Per ulteriori informazioni sui limiti di Compute Route Matrix, consulta Calcolare una matrice di route.

Nella risposta:

  • L'orario di arrivo stimato che tiene conto del traffico in tempo reale è contenuto nella proprietà di risposta duration.

  • La proprietà di risposta staticDuration contiene la durata del viaggio attraverso il percorso senza prendere in considerazione le condizioni del traffico.

Questa preferenza di routing fornisce la latenza di risposta più alta (ovvero, le risposte vengono restituite con il ritardo più lungo). Utilizza questa preferenza di routing quando vuoi risultati della massima qualità, indipendentemente dal tempo necessario per le risposte.

Effetto dell'impostazione dell'ora di partenza

Facoltativamente, puoi utilizzare la proprietà departureTime per impostare l'orario di partenza di una corsa. Se non imposti la proprietà departureTime, verrà utilizzata per impostazione predefinita l'ora in cui effettui la richiesta.

  • Per TRAFFIC_UNAWARE, non puoi impostare departureTime perché la scelta del percorso e della durata si basano sulla rete stradale e sulle condizioni medie del traffico dipendenti dal tempo.

  • Per TRAFFIC_AWARE e TRAFFIC_AWARE_OPTIMAL, che tengono conto delle condizioni del traffico in tempo reale, il traffico in tempo reale diventa più importante quanto più si è vicini allo departureTime. Più lontano si imposta l'orario di partenza nel futuro, maggiore verrà data alla considerazione della cronologia delle condizioni del traffico.

Esempio di impostazione delle preferenze di routing

Il seguente codice JSON mostra come impostare la preferenza di routing nel corpo dell'entità di un messaggio di richiesta.

{
  "origin":{
    "location":{
      "latLng":{
        "latitude":37.419734,
        "longitude":-122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude":37.417670,
        "longitude":-122.079595
      }
    }
  },
  "travelMode":"DRIVE",
  "routingPreference":"TRAFFIC_AWARE_OPTIMAL"
}

Configurare il traffico sulle polilinee

L'API Routes consente di richiedere informazioni sulle condizioni del traffico insieme a una polilinea sensibile al traffico. Per ulteriori informazioni, consulta Richiedere le polilinee.