Le preferenze di traffico selezionate bilanciano l'accuratezza dei dettagli del percorso con le prestazioni delle richieste in uno dei due modi seguenti:
Sensibile al traffico: restituisce i risultati più accurati possibili (latenza più elevata).
Ignora il traffico: restituisce i risultati il più rapidamente possibile (latenza più bassa).
Quando effettui una richiesta, valuta se è meglio restituire i risultati più accurati possibili o restituirli il più rapidamente possibile. L'API Routes offre opzioni che ti consentono di controllare la qualità dei dati di risposta rispetto alla latenza della risposta.
Come impostare il livello di traffico
L'API Routes fornisce RoutingPreference (REST) e RoutingPreference (gRPC) che ti consentono di specificare le preferenze di routing per il calcolo dei percorsi.
L'impostazione predefinita è risultati che non tengono conto del traffico. Puoi selezionare le opzioni di traffico con le preferenze di routing TRAFFIC_UNAWARE, TRAFFIC_AWARE e TRAFFIC_AWARE_OPTIMAL. Ogni preferenza di routing produce risultati che differiscono per qualità del percorso, ora di arrivo stimata e latenza della risposta.
Condizioni del traffico
Le condizioni del traffico caratterizzano la velocità del flusso del traffico:
Traffico normale: nessun ingorgo, il traffico scorre a velocità normale.
Traffico da leggero a moderato: congestione in aumento, con traffico che scorre a velocità ridotta.
Traffico intenso: congestione grave, con velocità del traffico notevolmente ridotta.
Ignora il traffico
TRAFFIC_UNAWARE è l'impostazione predefinita. Utilizza questa preferenza di routing quando vuoi che le risposte vengano restituite il più rapidamente possibile e i dettagli di routing approssimativi sono sufficienti.
I percorsi TRAFFIC_UNAWARE vengono calcolati senza tenere conto delle condizioni attuali del traffico. Questa preferenza di routing consente di ottenere la risposta più rapida alla richiesta (latenza più bassa).
Se scegli TRAFFIC_UNAWARE, il percorso e la durata scelti si basano sulla rete stradale e sulle condizioni medie del traffico indipendenti dal tempo, non sulle condizioni stradali attuali. Di conseguenza, i percorsi potrebbero includere strade temporaneamente chiuse. I risultati di una determinata richiesta possono variare nel tempo a causa di modifiche alla rete stradale, condizioni del traffico medie aggiornate e della natura distribuita del servizio. I risultati possono anche variare tra percorsi quasi equivalenti in qualsiasi momento o frequenza.
Ecco le risposte che vedrai:
duration: contiene l'orario di arrivo stimato per il percorso.staticDuration: l'orario di arrivo stimato per il percorso considerando solo le informazioni storiche sul traffico. PerTRAFFIC_UNAWARE, contiene lo stesso valore diduration.
Sensibile al traffico
Utilizza questa preferenza di routing quando vuoi dettagli di routing più accurati rispetto a TRAFFIC_UNAWARE, ma non ti dispiace se le risposte vengono restituite con un moderato aumento della latenza.
Quando imposti la preferenza di routing TRAFFIC_AWARE, il servizio calcola il percorso considerando le condizioni del traffico attuali. Di conseguenza, il percorso e i relativi dettagli riflettono in modo più accurato le condizioni reali. Poiché questo aumento della qualità dei dati va a scapito della latenza di risposta, vengono applicate ottimizzazioni delle prestazioni per ridurre gran parte della latenza.
Ecco le risposte che vedrai:
duration: l'orario di arrivo stimato considerando le informazioni sul traffico in tempo reale.staticDurationL'orario di arrivo stimato per il percorso considerando solo le informazioni storiche sul traffico.
Ottimale in base al traffico
Utilizza questa preferenza di routing quando vuoi ottenere risultati della massima qualità, indipendentemente dal tempo necessario per le risposte. Questa preferenza di routing ha il ritardo più lungo nella restituzione delle risposte (latenza più elevata).
Quando imposti la preferenza di routing TRAFFIC_AWARE_OPTIMAL, il servizio calcola il percorso considerando le condizioni del traffico attuali, ma non applica ottimizzazioni delle prestazioni. 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 mobile Google Maps.
Quando utilizzi questa opzione con Compute Route Matrix, il numero di elementi in una richiesta (numero di origini × numero di destinazioni) è limitato. Per saperne di più sui limiti di Compute Route Matrix, consulta Calcola una matrice di percorsi.
Ecco le risposte che vedrai:
duration: l'orario di arrivo stimato per il percorso, tenendo conto delle informazioni sul traffico in tempo reale.staticDuration: l'orario di arrivo stimato per il percorso considerando solo le informazioni storiche sul traffico.
(Facoltativo) Imposta l'ora di partenza
Utilizza questa proprietà solo per le richieste sensibili al traffico in cui l'orario di partenza deve essere nel futuro. Se non imposti la proprietà departureTime, il valore predefinito è l'ora in cui effettui la richiesta.
Utilizza la proprietà departureTime insieme alle opzioni TRAFFIC_AWARE e TRAFFIC_AWARE_OPTIMAL per regolare il modo in cui il servizio prevede il traffico quando sceglie un percorso.
TRAFFIC_UNAWARE: non consigliato perché la scelta del percorso e della durata si basa sulla rete stradale e sulle condizioni medie del traffico indipendenti dal tempo.TRAFFIC_AWAREeTRAFFIC_AWARE_OPTIMAL: consigliate per le partenze imminenti, perché queste preferenze tengono conto delle condizioni del traffico in tempo reale. Il traffico in tempo reale diventa più importante e pertinente quanto piùdepartureTimeè vicino al momento attuale. Più l'orario di partenza è lontano nel futuro, più vengono prese in considerazione le condizioni del traffico storiche nella selezione dei percorsi.
Esempio: come selezionare il routing sensibile al traffico
Il seguente codice JSON mostra come impostare la preferenza di routing TRAFFIC_AWARE_OPTIMAL 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" }