Configurare qualità e latenza

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Quando fai una richiesta, potresti dover decidere se è meglio restituire i risultati più precisi possibili o i risultati più rapidamente possibile. L'API Routes offre opzioni che ti consentono di controllare la qualità dei dati di risposta rispetto alla latenza della risposta.

Configura il livello dei dati sul traffico

L'API Routes fornisce RoutingPreferenza (REST) e RoutingPreferenza (gRPC) che consentono di specificare le preferenze di routing per il calcolo delle route. Queste preferenze differiscono nella misura in cui tengono conto delle condizioni del traffico nel calcolo del percorso. Ogni preferenza di routing produce risultati che differiscono in base alla qualità del percorso, all'orario di arrivo stimato stimato e alla latenza di risposta.

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

  • In assenza di congestione, le condizioni del traffico sono considerate normali e il traffico scorre alla velocità normale senza ostacoli.
  • Con l'avvicinarsi dell'ora di punta, la densità del traffico aumenta, con un conseguente rallentamento del traffico, che produce condizioni di traffico da leggere a moderate.
  • Nel traffico da bumper a bumper, la velocità di flusso si arresta, generando condizioni di traffico intenso.

Traffico non consapevole

Quando imposti la preferenza di routing per TRAFFIC_UNAWARE, le route vengono calcolate senza tenere conto delle condizioni di 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 è incluso nella proprietà della risposta duration.

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

Utilizza questa preferenza di routing per ricevere risposte più rapide e i dettagli di routing approssimativi sono sufficienti.

Consapevole del traffico

Quando imposti la preferenza di routing per TRAFFIC_AWARE, le route vengono calcolate tenendo conto delle condizioni di traffico attuali. Di conseguenza, il percorso e i dettagli del percorso riflettono in modo più accurato le condizioni reali. Dato che questo aumento della qualità dei dati va a scapito della latenza di risposta, le ottimizzazioni del rendimento vengono applicate per ridurre gran parte della latenza.

Nella risposta:

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

  • La proprietà delle risposte staticDuration contiene la durata del viaggio tramite il percorso senza considerare le condizioni del traffico.

Utilizza questa preferenza di routing per ottenere dettagli di routing più precisi di TRAFFIC_UNAWARE, ma non ti importa che vengano restituite le risposte con un aumento moderato della latenza.

Informazioni ottimali sul traffico

Quando imposti la preferenza di routing TRAFFIC_AWARE_OPTIMAL, i percorsi vengono calcolati tenendo conto delle condizioni attuali del traffico, ma non vengono applicate ottimizzazioni del rendimento. In questa modalità, il server esegue una ricerca più completa della rete stradale per trovare il percorso ottimale.

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

Se utilizzi 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 Matrice di route Compute, consulta Compute a una matrice di route.

Nella risposta:

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

  • La proprietà delle risposte staticDuration contiene la durata del viaggio tramite il percorso senza considerare le condizioni del traffico.

Questa preferenza di routing fornisce la più alta latenza di risposta (ossia le risposte restituiscono il ritardo più lungo). Utilizza questa preferenza di routing quando vuoi ottenere risultati della massima qualità, indipendentemente dalle tempi di risposta.

Effetto dell'impostazione dell'orario di partenza

Facoltativamente, puoi utilizzare la proprietà departureTime per impostare l'orario desiderato per una partenza della corsa. Se non imposti la proprietà departureTime, viene utilizzata l'ora predefinita per effettuare la richiesta.

  • Per TRAFFIC_UNAWARE, non puoi impostare departureTime perché la scelta di percorso e durata si basa sulla rete stradale e sulle condizioni del traffico indipendente 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 man mano che si avvicina la departureTime. Più imposti l'orario di partenza nel futuro, maggiore è la considerazione,

Esempio di impostazione del routing preferito

Il codice JSON seguente mostra come impostare la preferenza di routing per il corpo dell'entità 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"
}

Configura qualità polilinea

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

La qualità di una polilinea può essere descritta nei seguenti termini:

  • Il numero di punti che compongono la polilinea

    Più punti ci sono, più è liscio la polilinea, soprattutto nelle curve.

  • La precisione dei punti fluttuanti

    I punti sono specificati come valori di latitudine e longitudine, rappresentati in formato a virgola mobile a precisione singola. Questo approccio funziona bene per valori piccoli (che possono essere rappresentati in modo preciso), ma la precisione diminuisce con l'aumento dei valori a causa di errori di arrotondamento in virgola mobile.

Il metodo computeRoutes (REST) e il metodo ComputeRoutes (gRPC) supportano l'opzione di richiesta polylineQuality per il controllo della qualità polilinea.

Esempio di impostazione della qualità della polilinea

polylineQuality specifica la qualità della polilinea come HIGH_QUALITY o OVERVIEW (valore predefinito). Con OVERVIEW, la polilinea è composta da un numero ridotto di punti e ha una latenza di richieste inferiore a HIGH_QUALITY.

Ad esempio, nel corpo della richiesta:

{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "polylineQuality": "HIGH_QUALITY",
  "polylineEncoding": "ENCODED_POLYLINE", 
  "departureTime": "2023-10-15T15:01:23.045123456Z",
  ...
}