Specifica come e se includere i dati sul traffico

Le preferenze di traffico che selezioni bilanciano la precisione dei dettagli del percorso con il rendimento delle richieste. Quando effettui una richiesta, vuoi valutare se è meglio restituire i risultati più precisi possibile o 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.

Imposta il livello di dati sul traffico

L'API Routes offre RoutingPreference (REST) e RoutingPreference (gRPC) che consentono di specificare le preferenze di routing per il calcolo delle route. Queste preferenze differiscono nel momento in cui tengono conto delle condizioni del traffico nel calcolo del percorso. Ogni preferenza di routing produce risultati che differiscono in una certa misura per quanto riguarda la qualità delle route, 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 congestione, le condizioni del traffico sono considerate normali e il traffico scorre alla normale velocità senza ostacoli.
  • All'avvicinarsi dell'ora di punta, la densità del traffico aumenta, con un conseguente rallentamento del traffico, con condizioni di traffico da leggere a moderate.
  • Nel traffico da bumper a bumper, la velocità di flusso si arresta in modo anomalo, creando condizioni di traffico intenso.

Traffico inconsapevole

Quando imposti la preferenza di routing TRAFFIC_UNAWARE, le route vengono calcolate senza tenere conto delle condizioni del traffico attuali. Questa preferenza di routing offre la latenza di risposta più bassa (le risposte vengono restituite il più rapidamente).

TRAFFIC_UNAWARE è l'impostazione predefinita.

Nella risposta:

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

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

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

Consapevole del traffico

Quando imposti la preferenza di routing TRAFFIC_AWARE, le route vengono calcolate tenendo conto delle condizioni del traffico attuali. Di conseguenza, i dettagli del percorso e del percorso riflettono in modo più accurato le condizioni del mondo reale. Poiché questo aumento della qualità dei dati 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 prende in considerazione il traffico in tempo reale è contenuto nella proprietà della risposta duration.

  • La proprietà della risposta staticDuration contiene la durata del percorso senza prendere in considerazione le condizioni del traffico.

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

Ottimizzato per il traffico

Quando imposti la preferenza di routing TRAFFIC_AWARE_OPTIMAL, le route vengono calcolate tenendo conto delle condizioni attuali del traffico, ma non vengono applicate ottimizzazioni del rendimento. In questa modalità, il server esegue una ricerca più esaustiva 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 Google Maps per dispositivi mobili.

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

Nella risposta:

  • L'orario di arrivo stimato che prende in considerazione il traffico in tempo reale è contenuto nella proprietà della risposta duration.

  • La proprietà della risposta staticDuration contiene la durata del percorso senza prendere in considerazione le condizioni del traffico.

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

Effetto dell'impostazione dell'orario di partenza

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

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

  • Per TRAFFIC_AWARE e TRAFFIC_AWARE_OPTIMAL, che prendono in considerazione le condizioni del traffico in tempo reale, il traffico in tempo reale diventa più importante più il departureTime è adesso. Più lontano imposti l'orario di partenza, maggiore sarà la considerazione delle condizioni storiche del traffico.

Esempio di impostazione della preferenza 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 ti consente di richiedere informazioni sulle condizioni del traffico su una polilinea sensibile al traffico. Per ulteriori informazioni, consulta Richiedere polilinee.