- Richiesta HTTP
- Corpo della richiesta
- Corpo della risposta
- RouteMatrixOrigin
- DestinazioneMatriceMatrice
- Computazione extra
- CondizioneMatriceElementoRoute
- Valori localizzati
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 di specificare una maschera da 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 di percorsi di campo separati da virgole. Consulta questa documentazione dettagliata su come creare i percorsi dei campi.
Ad esempio, con questo metodo:
- Maschera di campo di tutti i campi disponibili (per l'ispezione manuale):
X-Goog-FieldMask: *
- Maschera di campo delle durate, delle distanze, dello stato degli elementi, delle condizioni e degli 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 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. Potremmo aggiungere altri campi di risposta in futuro e questi nuovi campi potrebbero richiedere più tempo di calcolo. Se selezioni tutti i campi o se selezioni tutti i campi al livello più alto, potresti riscontrare un peggioramento del rendimento perché qualsiasi nuovo campo aggiunto verrà automaticamente incluso nella risposta.
- Se selezioni solo i campi necessari, ottieni una dimensione di risposta 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 ( |
Campi | |
---|---|
origins[] |
Obbligatorio. Array di origini, che determina le righe della matrice di risposta. Sono previste diverse restrizioni alle dimensioni per la cardinalità di origini e destinazioni:
|
destinations[] |
Obbligatorio. Array di destinazioni, che determina le colonne della matrice di risposta. |
travelMode |
Campo facoltativo. Specifica la modalità di trasporto. |
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 particolarmente lunga, viene restituito un errore. Puoi specificare questa opzione solo quando |
departureTime |
Campo facoltativo. L'orario di partenza. Se non imposti questo valore, il valore predefinito corrisponderà all'ora in cui hai effettuato la richiesta. NOTA: puoi specificare un Un timestamp nel formato "Zulu" UTC RFC3339, con una risoluzione di nanosecondi e fino a nove cifre frazionarie. Esempi: |
arrivalTime |
Campo facoltativo. L'ora di arrivo. NOTA: può essere impostato solo quando Un timestamp nel formato "Zulu" UTC RFC3339, con una risoluzione di nanosecondi e fino a nove cifre frazionarie. Esempi: |
languageCode |
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 Assistenza per le lingue per l'elenco delle lingue supportate. Se non specifichi questo valore, la lingua di visualizzazione viene dedotta dalla località della prima origine. |
regionCode |
Campo facoltativo. Il codice regione, specificato come valore di due caratteri ccTLD ("dominio di primo livello"). Per ulteriori informazioni, visita https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains#Country_code_top-level_domains. |
extraComputations[] |
Campo facoltativo. Un elenco di calcoli aggiuntivi che potrebbero 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. |
trafficModel |
Campo facoltativo. Specifica le ipotesi da utilizzare per il calcolo del tempo di traffico. Questa impostazione influisce sul valore restituito nel campo della durata in |
transitPreferences |
Campo facoltativo. Specifica le preferenze che influenzano la route restituita per |
Corpo della risposta
Contiene le informazioni di percorso calcolate per una coppia di origine/destinazione nell'API v2.computeRouteMatrix. Questo protocollo può essere trasmesso al client.
In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:
Rappresentazione JSON |
---|
{ "status": { object ( |
Campi | |
---|---|
status |
Codice di stato di errore per questo elemento. |
condition |
Indica se il percorso è stato trovato o meno. Indipendente dallo stato. |
distanceMeters |
La distanza di percorrenza del percorso, in metri. |
duration |
Il tempo necessario per seguire il percorso. Se imposti Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
staticDuration |
La durata del viaggio nel percorso senza tenere in considerazione le condizioni del traffico. Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
travelAdvisory |
Ulteriori informazioni sul percorso. Ad esempio, informazioni sulle restrizioni e informazioni sui pedaggi |
fallbackInfo |
In alcuni casi, quando il server non è in grado di calcolare la route con le preferenze specificate per questa specifica coppia di origine/destinazione, potrebbe utilizzare 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 è impostato. |
localizedValues |
Rappresentazioni di testo delle proprietà di |
originIndex |
Indice a base zero dell'origine nella richiesta. |
destinationIndex |
Indice a zero zero della destinazione nella richiesta. |
RouteMatrixOrigin
Un'unica origine per ComputeRouteMatrixRequest
Rappresentazione JSON |
---|
{ "waypoint": { object ( |
Campi | |
---|---|
waypoint |
Obbligatorio. Waypoint di origine |
routeModifiers |
Campo facoltativo. Modificatori per ogni percorso che accetta questa origine |
Destinazione RouteMatrix
Un'unica destinazione per ComputeRouteMatrixRequest
Rappresentazione JSON |
---|
{
"waypoint": {
object ( |
Campi | |
---|---|
waypoint |
Obbligatorio. Waypoint di destinazione |
Extracomputazione
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. |
Condizione elemento route matrix
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. |
Valori localizzati
Rappresentazioni di testo di determinate proprietà.
Rappresentazione JSON |
---|
{ "distance": { object ( |
Campi | |
---|---|
distance |
Distanza percorsa in forma di testo. |
duration |
Durata rappresentata sotto forma di testo tenendo conto delle condizioni del traffico. Nota: se le informazioni sul traffico non sono state richieste, questo valore è lo stesso di staticDuration. |
staticDuration |
Durata rappresentata sotto forma di testo senza tenere conto delle condizioni del traffico. |
transitFare |
Tariffa per il trasporto pubblico rappresentata sotto forma di testo. |