Method: computeRouteMatrix
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Kalkış ve varış noktalarının listesini alır ve her kalkış ve hedef kombinasyonu için rota bilgilerini içeren bir akış döndürür.
NOT: Bu yöntem, girişte bir yanıt alanı maskesi belirtmenizi gerektirir. Yanıt alanı maskesini $fields
veya fields
URL parametresini ya da X-Goog-FieldMask
HTTP/gRPC üst bilgisini kullanarak sağlayabilirsiniz (kullanılabilir URL parametreleri ve üst bilgileri bölümüne bakın). Değer, virgülle ayrılmış alan yolları listesidir. Alan yollarının nasıl oluşturulacağı hakkında ayrıntılı dokümanları inceleyin.
Örneğin, bu yöntemde:
- Mevcut tüm alanların alan maskesi (manuel inceleme için):
X-Goog-FieldMask: *
- Rota süreleri, mesafeler, öğe durumu, koşul ve öğe dizinlerinin alan maskesi (örnek üretim kurulumu):
X-Goog-FieldMask:
originIndex,destinationIndex,status,condition,distanceMeters,duration
Aksi takdirde tüm mesajlar OK olarak görüneceğinden, alan maskenize status
eklemeniz önemlidir. Google, aşağıdaki nedenlerle joker karakter (*
) yanıt alanı maskesinin kullanılmasını önermez:
- Yalnızca ihtiyacınız olan alanları seçmeniz, sunucumuzun hesaplama döngülerini kaydetmesine yardımcı olarak sonucu size daha düşük bir gecikmeyle döndürmemizi sağlar.
- Üretim işinizde yalnızca ihtiyacınız olan alanları seçmek, kararlı bir gecikme performansı sağlar. Gelecekte daha fazla yanıt alanı ekleyebiliriz ve bu yeni alanlar daha fazla hesaplama süresi gerektirebilir. Tüm alanları seçerseniz veya en üst düzeydeki tüm alanları seçerseniz, eklediğimiz yeni alanlar yanıta otomatik olarak dahil edileceğinden performansta düşüşle karşılaşabilirsiniz.
- Yalnızca ihtiyacınız olan alanları seçtiğinizde yanıt boyutu küçülür ve böylece daha yüksek ağ işleme hızı elde edilir.
HTTP isteği
POST https://routespreferred.googleapis.com/v1alpha:computeRouteMatrix
URL, gRPC Kod Dönüştürme söz dizimini kullanır.
İstek içeriği
İstek gövdesi aşağıdaki yapıya sahip verileri içerir:
Alanlar |
origins[] |
object (RouteMatrixOrigin )
Zorunlu. Yanıt matrisinin satırlarını belirleyen kaynaklar dizisi. Kaynakların ve hedeflerin kardinalitesi için çeşitli boyut kısıtlamaları uygulanır:
- Öğe sayısı (başlangıç noktaları × varış noktaları) hiçbir durumda 625'ten fazla olmamalıdır.
- YönlendirmeTercihi,
TRAFFIC_AWARE_OPTIMAL olarak ayarlanırsa öğe sayısı (kaynaklar × hedefler) 100'den fazla olmamalıdır.
placeId olarak belirtilen ara nokta sayısı (başlangıç noktaları + hedefler) en fazla 50 olmalıdır.
|
destinations[] |
object (RouteMatrixDestination )
Zorunlu. Yanıt matrisinin sütunlarını belirleyen hedefler dizisi.
|
travelMode |
enum (RouteTravelMode )
İsteğe bağlı. Ulaşım şeklini belirtir.
|
routingPreference |
enum (RoutingPreference )
İsteğe bağlı. Rotanın nasıl hesaplanacağını belirtir. Sunucu, yolu hesaplamak için seçilen yönlendirme tercihini kullanmaya çalışır. Yönlendirme tercihi hatayla veya ekstra uzun gecikmeyle sonuçlanırsa bir hata döndürülür. Bu seçeneği yalnızca travelMode DRIVE veya TWO_WHEELER olduğunda belirtebilirsiniz. Aksi takdirde istek başarısız olur.
|
departureTime |
string (Timestamp format)
İsteğe bağlı. Kalkış saati. Bu değeri ayarlamazsanız varsayılan olarak isteği gönderdiğiniz zaman olur. Bu değeri geçmişte gerçekleşmiş bir zamana ayarlarsanız istek başarısız olur. RFC3339 UTC "Zulu" biçiminde, nanosaniye çözünürlüğüne ve en fazla dokuz kesirli basamağa sahip bir zaman damgası. Örnekler: "2014-10-02T15:01:23Z" ve "2014-10-02T15:01:23.045123456Z" .
|
Yanıt gövdesi
Başarılı olursa yanıt gövdesi, RouteMatrixElement
örneklerinden oluşan bir akış içerir.
Yetkilendirme kapsamları
Aşağıdaki OAuth kapsamını gerektirir:
https://www.googleapis.com/auth/maps-platform.routespreferred
Daha fazla bilgi için OAuth 2.0'a Genel Bakış başlıklı makaleyi inceleyin.
Aksi belirtilmediği sürece bu sayfanın içeriği Creative Commons Atıf 4.0 Lisansı altında ve kod örnekleri Apache 2.0 Lisansı altında lisanslanmıştır. Ayrıntılı bilgi için Google Developers Site Politikaları'na göz atın. Java, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-08-29 UTC.
[null,null,["Son güncelleme tarihi: 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)."]]