Calcola una matrice di route

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:

gRPC: https://developers.google.com/maps/documentation/routes_preferred/reference/rpc/google.maps.routes.v1

REST: https://developers.google.com/maps/documentation/routes_preferred/reference/rest/v1/TopLevel/computeRouteMatrix

I passaggi generici riportati di seguito descrivono come utilizzare gRPC per chiamare il metodo ComputeRouteMatrix:

  1. 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.

  2. Utilizzando il linguaggio che preferisci e il set di strumenti di creazione, genera il codice di un protobuffer.

  3. 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.

  4. 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.