Method: computeRouteMatrix

Recupera un elenco di origini e destinazioni e restituisce un flusso contenente le informazioni sul percorso per ogni combinazione di origine e destinazione.

NOTA: questo metodo richiede di specificare una maschera di campo di risposta nell'input. Puoi fornire la maschera del campo di risposta utilizzando il parametro URL $fields o fields oppure utilizzando l'intestazione HTTP/gRPC X-Goog-FieldMask (consulta i parametri e intestazioni degli URL disponibili). Il valore è un elenco di percorsi di campo separati da virgole. Consulta questa documentazione dettagliata sulla creazione dei percorsi di campo.

Ad esempio, con questo metodo:

  • Maschera dei campi di tutti i campi disponibili (per l'ispezione manuale): X-Goog-FieldMask: *
  • Maschera sul campo delle durate del percorso, delle distanze, dello stato degli elementi, delle condizioni e degli indici degli elementi (un esempio di configurazione di produzione): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

È fondamentale includere status nella maschera dei campi, altrimenti tutti i messaggi sembreranno corretti. Google sconsiglia l'utilizzo della maschera del campo di risposta con caratteri jolly (*) perché:

  • Selezionare solo i campi necessari aiuta il nostro server a salvare i cicli di calcolo, consentendoci di restituirti il risultato con una latenza più bassa.
  • Selezionare solo i campi necessari nel job di produzione assicura prestazioni di latenza stabili. In futuro potremmo aggiungere altri campi di risposta, che potrebbero richiedere un tempo di calcolo aggiuntivo. Se selezioni tutti i campi o selezioni tutti i campi al livello più alto, il rendimento potrebbe peggiorare perché tutti i nuovi campi che aggiungiamo verranno automaticamente inclusi nella risposta.
  • Selezionare solo i campi necessari riduce le dimensioni della risposta e, di conseguenza, la velocità effettiva di rete.

Richiesta HTTP

POST https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix

L'URL utilizza la sintassi di transcodifica gRPC.

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string,
  "languageCode": string,
  "regionCode": string,
  "extraComputations": [
    enum (ExtraComputation)
  ]
}
Campi
origins[]

object (RouteMatrixOrigin)

Obbligatorio. Array di origini, che determina le righe della matrice di risposta. Alla cardinalità delle origini e delle destinazioni si applicano diverse restrizioni relative alle dimensioni:

  • In ogni caso, il numero di elementi (origini × destinazioni) non deve essere maggiore di 625.
  • Il numero di elementi (origini × destinazioni) non deve essere maggiore di 100 se la funzione routingPreferenza è impostata su TRAFFIC_AWARE_OPTIMAL.
  • Il numero di tappe (origini + destinazioni) specificato come placeId non deve essere maggiore di 50.
destinations[]

object (RouteMatrixDestination)

Obbligatorio. Array di destinazioni, che determina le colonne della matrice di risposta.

travelMode

enum (RouteTravelMode)

Campo facoltativo. Specifica la modalità di trasporto.

routingPreference

enum (RoutingPreference)

Campo facoltativo. Specifica come calcolare il percorso. Il server tenta di utilizzare la preferenza di routing selezionata per calcolare la route. Se la preferenza di routing genera un errore o una latenza extra lunga, viene restituito un errore. Puoi specificare questa opzione solo quando travelMode è DRIVE o TWO_WHEELER, altrimenti la richiesta non va a buon fine.

departureTime

string (Timestamp format)

Campo facoltativo. L'orario di partenza. Se non imposti questo valore, il valore predefinito sarà l'ora in cui hai effettuato la richiesta. Se imposti questo valore su un'ora già verificatasi, la richiesta non andrà a buon fine.

Un timestamp in formato RFC3339 UTC "Zulu", con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

languageCode

string

Campo facoltativo. Il codice lingua BCP-47, ad esempio "en-US" o "sr-Latn". Per ulteriori informazioni, visita il sito http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Visita la pagina del supporto per le lingue per l'elenco delle lingue supportate. Se non fornisci questo valore, la lingua di visualizzazione viene dedotta dalla località della prima origine.

regionCode

string

Campo facoltativo. Il codice regione, specificato come valore di ccTLD ("dominio di primo livello") a due caratteri. Per ulteriori informazioni, visita la pagina https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains#Country_code_top-level_domains.

extraComputations[]

enum (ExtraComputation)

Campo facoltativo. Un elenco di calcoli aggiuntivi che possono essere utilizzati per completare la richiesta. Nota: questi calcoli aggiuntivi potrebbero restituire campi aggiuntivi nella risposta. Questi campi aggiuntivi devono essere specificati anche nella maschera del campo da restituire nella risposta.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Incapsula le informazioni di percorso calcolate per una coppia di origine/destinazione nell'API v2.computeRouteMatrix. Questo protocollo può essere trasmesso al client.

Rappresentazione JSON
{
  "status": {
    object (Status)
  },
  "condition": enum (RouteMatrixElementCondition),
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "originIndex": integer,
  "destinationIndex": integer
}
Campi
status

object (Status)

Codice di stato di errore per questo elemento.

condition

enum (RouteMatrixElementCondition)

Indica se il percorso è stato trovato o meno. Indipendente dallo stato.

distanceMeters

integer

La distanza percorsa del percorso, in metri.

duration

string (Duration format)

Il tempo necessario per esplorare il percorso. Se imposti routingPreference su TRAFFIC_UNAWARE, questo valore sarà uguale a staticDuration. Se imposti routingPreference su TRAFFIC_AWARE o TRAFFIC_AWARE_OPTIMAL, questo valore viene calcolato tenendo conto delle condizioni del traffico.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

staticDuration

string (Duration format)

La durata del viaggio attraverso il percorso senza considerare le condizioni del traffico.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

travelAdvisory

object (RouteTravelAdvisory)

Ulteriori informazioni sul percorso. Ad esempio, informazioni sulle limitazioni e informazioni sui pedaggi

fallbackInfo

object (FallbackInfo)

In alcuni casi, quando il server non è in grado di calcolare il percorso con le preferenze indicate per questa particolare coppia di origine/destinazione, può tornare a utilizzare una modalità di calcolo diversa. Se viene utilizzata la modalità riserva, questo campo contiene informazioni dettagliate sulla risposta di riserva. In caso contrario, questo campo non è impostato.

originIndex

integer

Indice basato su zero dell'origine nella richiesta.

destinationIndex

integer

Indice basato sulla destinazione della richiesta.

Origine origine route

Un'unica origine per ComputeRouteMatrixRequest

Rappresentazione JSON
{
  "waypoint": {
    object (Waypoint)
  },
  "routeModifiers": {
    object (RouteModifiers)
  }
}
Campi
waypoint

object (Waypoint)

Obbligatorio. Waypoint origine

routeModifiers

object (RouteModifiers)

Campo facoltativo. Modificatori per tutte le route che utilizzano questa origine

Destinazione matrice

Un'unica destinazione per ComputeRouteMatrixRequest

Rappresentazione JSON
{
  "waypoint": {
    object (Waypoint)
  }
}
Campi
waypoint

object (Waypoint)

Obbligatorio. Waypoint di destinazione

Extracomputazione

Calcolo aggiuntivo da eseguire durante il completamento della richiesta.

Enum
EXTRA_COMPUTATION_UNSPECIFIED Non utilizzato. Le richieste contenenti questo valore avranno esito negativo.
TOLLS Informazioni sul pedaggio per gli elementi della matrice.

Condizione Element MatrixElement

La condizione del percorso restituito.

Enum
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED Utilizzato solo quando status dell'elemento non va bene.
ROUTE_EXISTS È stato trovato un percorso e le informazioni corrispondenti sono state inserite per l'elemento.
ROUTE_NOT_FOUND Nessun percorso trovato. I campi contenenti informazioni sul percorso, come distanceMeters o duration, non verranno compilati nell'elemento.