Method: computeRouteMatrix
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Przeszukuje listę miejsc wylotu i przylotu, a następnie zwraca strumień zawierający informacje o trasie dla każdej kombinacji miejsca wyjazdu i celu podróży.
UWAGA: ta metoda wymaga określenia maski pola odpowiedzi w danych wejściowych. Możesz podać maskę pola odpowiedzi, używając parametru adresu URL $fields
lub fields
albo nagłówka HTTP/gRPC X-Goog-FieldMask
(patrz dostępne parametry i nagłówki adresu URL). Wartość to lista ścieżek pól rozdzielonych przecinkami. Zapoznaj się ze szczegółową dokumentacją tworzenia ścieżek pól.
Na przykład w tej metodzie:
- Maska pól wszystkich dostępnych pól (do ręcznej kontroli):
X-Goog-FieldMask: *
- Maska pola z czasami trwania trasy, odległościami, stanem elementu, stanem i indeksami elementów (przykładowa konfiguracja wersji produkcyjnej):
X-Goog-FieldMask:
originIndex,destinationIndex,status,condition,distanceMeters,duration
Bardzo ważne jest, aby do maski pola dodać atrybut status
, ponieważ w przeciwnym razie wszystkie wiadomości będą wyglądały poprawnie. Odradzamy używanie maski pola odpowiedzi z symbolem wieloznacznym (*
), ponieważ:
- Wybranie tylko tych pól, których potrzebujesz, pomaga naszemu serwerowi oszczędzać cykle obliczeniowe, dzięki czemu możemy zwrócić Ci wyniki z krótszym czasem oczekiwania.
- Wybranie tylko tych pól, których potrzebujesz w produkcyjnym zadaniu, zapewnia stabilną wartość opóźnienia. W przyszłości możemy dodać więcej pól odpowiedzi, a te nowe pola mogą wymagać dłuższego czasu na obliczenia. Jeśli wybierzesz wszystkie pola lub wszystkie pola na najwyższym poziomie, może to spowodować pogorszenie wydajności, ponieważ każde nowe pole, które dodamy, będzie automatycznie uwzględniane w odpowiedzi.
- Jeśli wybierzesz tylko te pola, których potrzebujesz, rozmiar odpowiedzi będzie mniejszy, a tym samym większa przepustowość sieci.
Żądanie HTTP
POST https://routespreferred.googleapis.com/v1alpha:computeRouteMatrix
Adres URL używa składni transkodowania gRPC.
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
Pola |
origins[] |
object (RouteMatrixOrigin )
Wymagane. Tablica źródeł, która określa wiersze macierzy odpowiedzi. W odniesieniu do mocy zbioru miejsc wylotu i przeznaczenia obowiązuje kilka ograniczeń dotyczących rozmiaru:
- Liczba elementów (źródła × miejsca docelowe) w żadnym przypadku nie może być większa niż 625.
- Liczba elementów (źródła × miejsca docelowe) nie może być większa niż 100, jeśli parametr routingPreference ma wartość
TRAFFIC_AWARE_OPTIMAL .
- Liczba punktów pośrednich (źródła i miejsca docelowe) podana jako
placeId nie może być większa niż 50.
|
destinations[] |
object (RouteMatrixDestination )
Wymagane. Tablica miejsc docelowych, która określa kolumny macierzy odpowiedzi.
|
travelMode |
enum (RouteTravelMode )
Opcjonalnie: Określa środek transportu.
|
routingPreference |
enum (RoutingPreference )
Opcjonalnie: Określa sposób obliczania trasy. Serwer próbuje użyć wybranego ustawienia routingu do obliczenia trasy. Jeśli preferencja routingu powoduje błąd lub wydłuża czas oczekiwania, zwracany jest błąd. Tę opcję możesz określić tylko wtedy, gdy travelMode ma wartość DRIVE lub TWO_WHEELER . W przeciwnym razie żądanie nie zostanie zrealizowane.
|
departureTime |
string (Timestamp format)
Opcjonalnie: Godzina wyjazdu. Jeśli nie ustawisz tej wartości, domyślnie przyjęta zostanie godzina przesłania żądania. Jeśli ustawisz tę wartość na czas, który już minął, żądanie zakończy się niepowodzeniem. Sygnatura czasowa w formacie RFC3339 UTC „Zulu” z rozdzielczością nanosekundy i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z" .
|
Treść odpowiedzi
Jeśli operacja się powiedzie, treść odpowiedzi będzie zawierała strumień instancji RouteMatrixElement
.
Zakresy autoryzacji
Wymaga następującego zakresu OAuth:
https://www.googleapis.com/auth/maps-platform.routespreferred
Więcej informacji znajdziesz w artykule Omówienie protokołu OAuth 2.0.
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-08-29 UTC.
[null,null,["Ostatnia aktualizacja: 2025-08-29 UTC."],[[["\u003cp\u003eTakes a list of origins and destinations, returning route information for each combination.\u003c/p\u003e\n"],["\u003cp\u003eRequires specifying a response field mask for optimized performance and data selection.\u003c/p\u003e\n"],["\u003cp\u003eAccepts parameters for travel mode, routing preference, and departure time.\u003c/p\u003e\n"],["\u003cp\u003eReturns a stream of \u003ccode\u003eRouteMatrixElement\u003c/code\u003e instances containing route details.\u003c/p\u003e\n"],["\u003cp\u003eRequires the \u003ccode\u003ehttps://www.googleapis.com/auth/maps-platform.routespreferred\u003c/code\u003e OAuth scope for authorization.\u003c/p\u003e\n"]]],["This method computes route information for multiple origin-destination pairs. It requires a `POST` request to `computeRouteMatrix` with lists of `origins` and `destinations` in the request body. A field mask must be included to specify which data fields to return, with `status` being critical. Optional parameters include `travelMode`, `routingPreference`, and `departureTime`. The response is a stream of `RouteMatrixElement` instances, and the method requires a specific OAuth scope for authorization.\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/v1alpha: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)."]]