Puoi calcolare la distanza e la durata di un percorso per più
origini e destinazioni utilizzando il metodo ComputeRouteMatrix
dell'API Routes Preferred. Supporta ComputeRouteMatrix
sia per le chiamate gRPC in streaming sia per le chiamate HTTP REST.
Dato un elenco di coppie origine e destinazione, ComputeRouteMatrix
calcola la distanza e la durata di un percorso che parte da ciascuna origine
e termina in ogni destinazione. Ogni elemento dello stream corrisponde
alle informazioni su un singolo percorso.
Il metodo ComputeRouteMatrix
offre diversi vantaggi rispetto al
Servizio di matrice delle distanze:
- I flussi di dati consentono di restituire gli elementi prima dell'intera matrice dell'account, riducendo la latenza.
ComputeRouteMatrix
offre opzioni granulari per il calcolo del traffico, e ti consente di prendere decisioni sul compromesso tra qualità e latenza.- Le richieste vengono eseguite con una priorità più alta all'interno dell'infrastruttura di Google, con conseguente maggiore disponibilità.
- Puoi specificare la direzione di marcia e il lato della strada. le informazioni per le tappe.
- Puoi richiedere la restituzione delle informazioni sul pedaggio, insieme a distanza del percorso e orario di arrivo stimato.
Abilita il metodo ComputeRouteMatrix
Prima di poter utilizzare il metodo ComputeRouteMatrix
nel codice, devi
abilitarlo. Per ulteriori informazioni sull'abilitazione dell'API Routes Preferred
consulta la Guida introduttiva.
utilizza il metodo ComputeRouteMatrix
Il metodo ComputeRouteMatrix
è disponibile tramite Routes Preferred
Endpoint v1.
Per informazioni più dettagliate, consulta la seguente documentazione:
I passaggi generici riportati di seguito descrivono come utilizzare gRPC per chiamare
il metodo ComputeRouteMatrix
:
Controlla i protobuffer necessari dal repository googleapis:
https://github.com/googleapis/googleapis/tree/master/google/maps/routes
Tieni presente che alcuni sistemi di build, come Go, potrebbero eseguire questa operazione automaticamente.
Utilizzando il linguaggio che preferisci e il set di strumenti di creazione, genera il codice di un protobuffer.
Genera la richiesta. Devi inviare due parti obbligatorie dei metadati con la richiesta:
- X-Goog-Api-Key deve essere impostata sulla tua chiave API.
X-Goog-Fieldmask deve essere impostato su un elenco di campi separato da virgole richiesti dalla risposta. Ad esempio: X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status. Puoi utilizzare il carattere jolly (*) per indicare tutti i campi, ma scoraggiati. Utilizzare il carattere jolly per testare e comprendere il Risposta dell'API, ma elenca esplicitamente i campi che vuoi nella maschera dei campi nel codice di produzione.
Per ulteriori informazioni su come creare una stringa della maschera del campo, consulta https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto. Tieni presente che disabilitare i campi non necessari può ridurre la latenza, potrebbero richiedere ulteriori calcoli. La latenza rimarrà stabile se specifichi i campi di cui hai bisogno e i nuovi campi che richiedono in un secondo momento.
Invia la tua richiesta a
routespreferred.googleapis.com:443
.Devi utilizzare il protocollo TLS.
Per esempi di utilizzo del metodo ComputeRouteMatrix
, vedi
Esempi di calcolo di una matrice di percorso (beta).
Una caratteristica distintiva del metodo ComputeRouteMatrix
è che
i codici di errore possono essere restituiti per l'intero flusso o per singole
elementi. Ad esempio, la connessione stream restituisce un errore se la richiesta
non è nel formato corretto (ad esempio, ha zero origini). Tuttavia, se si verifica un errore
solo ad alcuni elementi dello stream (ad esempio, l'impostazione di un ID luogo non valido
per un'origine), solo gli elementi interessati dall'errore contengono codici di errore.
Non è garantito che gli elementi restituiti dal flusso di dati vengano restituiti
in qualsiasi ordine. Per questo motivo, ogni elemento contiene un origin_index
e destination_index
. Per le origini e le destinazioni specificate
dalla richiesta, l'origine della route è equivalente a origins[origin_index]
per un determinato elemento e la destinazione del percorso è equivalente
a destinations[destination_index]
. Questi array hanno indice zero. it
è importante per memorizzare gli ordini
degli elenchi di origine e di destinazione.
Calcolo delle tariffe per i pedaggi in corso...
Per informazioni sul calcolo delle tariffe per i pedaggi, consulta: Calcola le tariffe dei pedaggi.
Per esempi di calcolo delle tariffe dei pedaggi, consulta: Esempi di calcolo di una matrice di percorso.