Method: computeRouteMatrix
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Riceve un elenco di origini e destinazioni e restituisce uno stream contenente informazioni sui percorsi 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 l'intestazione HTTP/gRPC X-Goog-FieldMask
(consulta i parametri e le intestazioni URL disponibili). Il valore è un elenco separato da virgole di percorsi dei 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 per durate, distanze, stato, condizione e indici degli elementi del percorso (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 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, che 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, poiché ogni nuovo campo che aggiungiamo verrà incluso automaticamente nella risposta.
- La selezione solo dei campi necessari comporta una dimensione della risposta inferiore e, di conseguenza, un throughput di rete più elevato.
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:
Campi |
origins[] |
object (RouteMatrixOrigin )
Obbligatorio. Array di origini, che determina le righe della matrice della risposta. Alla cardinalità di origini e destinazioni si applicano diversi limiti di dimensioni:
- Il numero di elementi (origini × destinazioni) non deve in ogni caso essere maggiore di 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 superiore a 50.
|
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à utilizzata per impostazione predefinita l'ora in cui hai effettuato la richiesta. Se imposti questo valore su un'ora che è già trascorsa, la richiesta non va a buon fine. Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo 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 uno stream di istanze 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.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-08-29 UTC.
[null,null,["Ultimo aggiornamento 2025-08-29 UTC."],[[["\u003cp\u003eTakes in origin and destination lists, returning route information for each combination.\u003c/p\u003e\n"],["\u003cp\u003eRequires a response field mask using \u003ccode\u003e$fields\u003c/code\u003e, \u003ccode\u003efields\u003c/code\u003e, or \u003ccode\u003eX-Goog-FieldMask\u003c/code\u003e for optimized results.\u003c/p\u003e\n"],["\u003cp\u003eMust include \u003ccode\u003estatus\u003c/code\u003e in the field mask to identify unsuccessful route calculations.\u003c/p\u003e\n"],["\u003cp\u003eLimits the number of elements to 625 or 100 if \u003ccode\u003eroutingPreference\u003c/code\u003e is \u003ccode\u003eTRAFFIC_AWARE_OPTIMAL\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eAuthorize the request with the \u003ccode\u003ehttps://www.googleapis.com/auth/maps-platform.routespreferred\u003c/code\u003e OAuth scope.\u003c/p\u003e\n"]]],[],null,["# Method: computeRouteMatrix\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n\nTakes in a list of origins and destinations and returns a stream containing route information for each combination of origin and destination.\n\n**NOTE:** This method requires that you specify a response field mask in the input. You can provide the response field mask by using the URL parameter `$fields` or `fields`, or by using the HTTP/gRPC header `X-Goog-FieldMask` (see the [available URL parameters and headers](https://cloud.google.com/apis/docs/system-parameters). The value is a comma separated list of field paths. See this detailed documentation about [how to construct the field paths](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto).\n\nFor example, in this method:\n\n- Field mask of all available fields (for manual inspection): `X-Goog-FieldMask: *`\n- Field mask of route durations, distances, element status, condition, and element indices (an example production setup): `X-Goog-FieldMask:\n originIndex,destinationIndex,status,condition,distanceMeters,duration`\n\nIt is critical that you include `status` in your field mask as otherwise all messages will appear to be OK. Google discourages the use of the wildcard (`*`) response field mask, because:\n\n- Selecting only the fields that you need helps our server save computation cycles, allowing us to return the result to you with a lower latency.\n- Selecting only the fields that you need in your production job ensures stable latency performance. We might add more response fields in the future, and those new fields might require extra computation time. If you select all fields, or if you select all fields at the top level, then you might experience performance degradation because any new field we add will be automatically included in the response.\n- Selecting only the fields that you need results in a smaller response size, and thus higher network throughput.\n\n### HTTP request\n\n`POST https://routespreferred.googleapis.com/v1:computeRouteMatrix`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"origins\": [ { object (/maps/documentation/routes_preferred/reference/rest/Shared.Types/ComputeRouteMatrixRequest#RouteMatrixOrigin) } ], \"destinations\": [ { object (/maps/documentation/routes_preferred/reference/rest/Shared.Types/ComputeRouteMatrixRequest#RouteMatrixDestination) } ], \"travelMode\": enum (/maps/documentation/routes_preferred/reference/rest/Shared.Types/RouteTravelMode), \"routingPreference\": enum (/maps/documentation/routes_preferred/reference/rest/Shared.Types/RoutingPreference), \"departureTime\": string } ``` |\n\n| Fields ||\n|-----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `origins[]` | `object (`[RouteMatrixOrigin](/maps/documentation/routes_preferred/reference/rest/Shared.Types/ComputeRouteMatrixRequest#RouteMatrixOrigin)`)` Required. Array of origins, which determines the rows of the response matrix. Several size restrictions apply to the cardinality of origins and destinations: - The number of elements (origins × destinations) must be no greater than 625 in any case. - The number of elements (origins × destinations) must be no greater than 100 if routingPreference is set to `TRAFFIC_AWARE_OPTIMAL`. - The number of waypoints (origins + destinations) specified as `placeId` must be no greater than 50. |\n| `destinations[]` | `object (`[RouteMatrixDestination](/maps/documentation/routes_preferred/reference/rest/Shared.Types/ComputeRouteMatrixRequest#RouteMatrixDestination)`)` Required. Array of destinations, which determines the columns of the response matrix. |\n| `travel``Mode` | `enum (`[RouteTravelMode](/maps/documentation/routes_preferred/reference/rest/Shared.Types/RouteTravelMode)`)` Optional. Specifies the mode of transportation. |\n| `routing``Preference` | `enum (`[RoutingPreference](/maps/documentation/routes_preferred/reference/rest/Shared.Types/RoutingPreference)`)` Optional. Specifies how to compute the route. The server attempts to use the selected routing preference to compute the route. If the routing preference results in an error or an extra long latency, an error is returned. You can specify this option only when the `travelMode` is `DRIVE` or `TWO_WHEELER`, otherwise the request fails. |\n| `departure``Time` | `string (`[Timestamp](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp)` format)` Optional. The departure time. If you don't set this value, this defaults to the time that you made the request. If you set this value to a time that has already occurred, the request fails. A timestamp in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits. Examples: `\"2014-10-02T15:01:23Z\"` and `\"2014-10-02T15:01:23.045123456Z\"`. |\n\n### Response body\n\nIf successful, the response body contains a stream of [RouteMatrixElement](/maps/documentation/routes_preferred/reference/rest/Shared.Types/RouteMatrixElement) instances.\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/maps-platform.routespreferred`\n\nFor more information, see the [OAuth 2.0 Overview](https://developers.google.com/identity/protocols/OAuth2)."]]