Method: computeRouteMatrix

Cerca un elenco di origini e destinazioni e restituisce uno stream contenente informazioni sul percorso per ogni combinazione di luogo di partenza e destinazione.

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

Ad esempio, in questo metodo:

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

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

  • La selezione dei soli campi di cui hai bisogno consente al nostro server di salvare i cicli di calcolo, consentendoci di restituirti il risultato con una latenza inferiore.
  • La selezione dei soli campi necessari nel job di produzione garantisce prestazioni di latenza stabili. In futuro potremmo aggiungere altri campi di risposta e questi nuovi campi potrebbero richiedere tempi di calcolo aggiuntivi. Se selezioni tutti i campi o tutti i campi al livello superiore, si potrebbe verificare un peggioramento delle prestazioni, poiché ogni nuovo campo che aggiungiamo verrà incluso automaticamente nella risposta.
  • Se selezioni solo i campi necessari, la risposta avrà una dimensione inferiore e quindi una velocità effettiva di rete più elevata.

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,
  "arrivalTime": string,
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
Campi
origins[]

object (RouteMatrixOrigin)

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

  • La somma del numero di origini e del numero di destinazioni specificate come placeId o address non deve essere superiore a 50.
  • Il prodotto tra numero di origini × numero di destinazioni non deve essere in ogni caso superiore a 625.
  • Il prodotto tra numero di origini × numero di destinazioni e numero di origini non deve essere maggiore di 100 se routingPreference è impostato su TRAFFIC_AWARE_OPTIMAL.
  • Il prodotto tra numero di origini × numero di destinazioni e numero di destinazioni non deve essere superiore a 100 se il valore TravelMode è impostato su TRANSIT.
destinations[]

object (RouteMatrixDestination)

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

travelMode

enum (RouteTravelMode)

(Facoltativo) Specifica la modalità di trasporto.

routingPreference

enum (RoutingPreference)

(Facoltativo) Specifica come calcolare la route. Il server tenta di utilizzare la preferenza di routing selezionata per calcolare il percorso. Se la preferenza di routing genera un errore o una latenza molto 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)

(Facoltativo) L'orario di partenza. Se non imposti questo valore, verrà usato per impostazione predefinita l'ora in cui hai effettuato la richiesta. NOTA: puoi specificare un valore departureTime solo nel passato quando RouteTravelMode è impostato su TRANSIT.

Un timestamp nel 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".

arrivalTime

string (Timestamp format)

(Facoltativo) L'ora di arrivo. NOTA: può essere impostata solo quando il criterio RouteTravelMode è impostato su TRANSIT. Puoi specificare departureTime o arrivalTime, ma non entrambi.

Un timestamp nel 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

(Facoltativo) Il codice lingua BCP-47, ad esempio "en-US" o "sr-Latn". Per saperne di più, consulta la sezione Identificatore di impostazioni internazionali Unicode. Per l'elenco delle lingue supportate, consulta la sezione Supporto delle lingue. Quando non specifichi questo valore, la lingua di visualizzazione viene dedotta dalla località della prima origine.

regionCode

string

(Facoltativo) Il codice regione, specificato come valore a due caratteri ccTLD ("dominio di primo livello"). Per ulteriori informazioni, consulta Domini di primo livello nazionali.

units

enum (Units)

(Facoltativo) Specifica le unità di misura per i campi di visualizzazione.

extraComputations[]

enum (ExtraComputation)

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

trafficModel

enum (TrafficModel)

(Facoltativo) Specifica le ipotesi da utilizzare per il calcolo del tempo nel traffico. Questa impostazione influisce sul valore restituito nel campo della durata nell'elemento RouteMatrixElement, che contiene il tempo previsto nel traffico in base alle medie storiche. Da RoutingPreference a TRAFFIC_AWARE_OPTIMAL e da RouteTravelMode a DRIVE. Il valore predefinito è BEST_GUESS se viene richiesto il traffico e TrafficModel non è specificato.

transitPreferences

object (TransitPreferences)

(Facoltativo) Specifica le preferenze che influiscono sul percorso restituito per TRANSIT di percorsi. NOTA: puoi specificare un valore transitPreferences solo quando RouteTravelMode è impostato su TRANSIT.

Corpo della risposta

Contiene informazioni sulla route calcolate per una coppia origine/destinazione nell'API v2.computeRouteMatrix. Questo protocollo può essere trasmesso in streaming al client.

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

Rappresentazione JSON
{
  "status": {
    object (Status)
  },
  "condition": enum (RouteMatrixElementCondition),
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "localizedValues": {
    object (LocalizedValues)
  },
  "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 da percorrere in metri.

duration

string (Duration format)

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

Durata in secondi con un massimo di nove cifre frazionarie e termina con "s". Esempio: "3.5s".

staticDuration

string (Duration format)

La durata del viaggio senza tenere conto delle condizioni del traffico.

Durata in secondi con un massimo di nove cifre frazionarie e termina con "s". Esempio: "3.5s".

travelAdvisory

object (RouteTravelAdvisory)

Ulteriori informazioni sul percorso. Ad esempio: informazioni sulle restrizioni e sui pedaggi.

fallbackInfo

object (FallbackInfo)

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

localizedValues

object (LocalizedValues)

Rappresentazioni testuali delle proprietà di RouteMatrixElement.

originIndex

integer

Indice in base zero dell'origine nella richiesta.

destinationIndex

integer

Indice in base zero della destinazione nella richiesta.

RouteMatrixOrigin

Una singola origine per ComputeRouteMatrixRequest

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

object (Waypoint)

Obbligatorio. Tappa di partenza

routeModifiers

object (RouteModifiers)

(Facoltativo) Modificatori per ogni percorso che lo considera come origine

RouteMatrixDestination

Una destinazione unica per ComputeRouteMatrixRequest

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

object (Waypoint)

Obbligatorio. Tappa di destinazione

ExtraComputation

Calcoli aggiuntivi da eseguire durante il completamento della richiesta.

Enum
EXTRA_COMPUTATION_UNSPECIFIED Non utilizzato. Le richieste contenenti questo valore non andranno a buon fine.
TOLLS Informazioni sul pedaggio per gli elementi della matrice.

RouteMatrixElementCondition

La condizione della route restituita.

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

LocalizedValues

Rappresentazioni testuali di determinate proprietà.

Rappresentazione JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
Campi
distance

object (LocalizedText)

Distanza di viaggio rappresentata in formato di testo.

duration

object (LocalizedText)

Durata rappresentata in formato testuale, prendendo in considerazione le condizioni del traffico. Nota: se non sono state richieste informazioni sul traffico, questo valore corrisponde a staticDuration.

staticDuration

object (LocalizedText)

Durata rappresentata in formato testuale senza tenere conto delle condizioni del traffico.

transitFare

object (LocalizedText)

Tariffa del trasporto pubblico rappresentata in formato di testo.