Method: computeRouteMatrix

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

NOTA: questo metodo richiede l'indicazione di una maschera per il campo della 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 di percorsi dei campi separati da virgole. Consulta questa documentazione dettagliata su come creare i percorsi dei campi.

Ad esempio, in questo metodo:

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

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

  • La selezione dei soli campi necessari 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 più alto, potresti riscontrare un peggioramento delle prestazioni perché qualsiasi nuovo campo che aggiungiamo verrà incluso automaticamente nella risposta.
  • La selezione solo dei campi necessari comporta una riduzione delle dimensioni della risposta e, di conseguenza, una velocità effettiva di rete superiore.

Richiesta HTTP

POST https://routespreferred.googleapis.com/v1: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
}
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:

  • Il numero di elementi (origini × destinazioni) non deve essere superiore a 625.
  • Il numero di elementi (origini × destinazioni) non deve essere superiore a 100 se routingPreference è impostato 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 la route. 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 molto lunga, viene restituito un errore. In futuro, potremmo implementare un meccanismo di riserva per utilizzare un'opzione diversa quando l'opzione preferita non dà un risultato valido. 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 corrisponde all'ora in cui hai effettuato la richiesta. Se imposti questo valore su un orario già verificato, la richiesta non andrà a buon fine.

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

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RouteMatrixElement.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

Per ulteriori informazioni, consulta la Panoramica di OAuth 2.0.