Güzergah Matrisi hesaplayın
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Routes Preferred API'nin ComputeRouteMatrix
yöntemini kullanarak birden fazla başlangıç ve hedef için bir rotanın mesafesini ve süresini hesaplayabilirsiniz. ComputeRouteMatrix
, hem akış gRPC çağrılarını hem de REST HTTP çağrılarını destekler.
Başlangıç ve hedef çiftlerinin listesi verildiğinde ComputeRouteMatrix
, her başlangıç noktasında başlayıp her hedefte biten bir rotanın mesafesini ve süresini hesaplar. Akışın her öğesi tek bir rotanın bilgilerine karşılık gelir.
ComputeRouteMatrix
yöntemi, Mesafe Matrisi Hizmeti'ne kıyasla çeşitli avantajlar sunar:
- Akış, tüm matris hesaplanmadan önce öğelerin döndürülmesine olanak tanıyarak gecikmeyi azaltır.
ComputeRouteMatrix
, trafik hesaplaması için ayrıntılı seçenekler sunarak kalite-gecikme arasında seçim yapmanıza olanak tanır.
- İstekler, Google'ın altyapısında daha yüksek öncelikte çalıştırılır. Bu da daha yüksek kullanılabilirlik sağlar.
- Ara noktalar için yön (seyahat yönü) ve yolun kenarı bilgilerini belirtebilirsiniz.
- Rota mesafesi ve tahmini varış zamanı ile birlikte ücretli yol bilgilerinin de döndürülmesini isteyebilirsiniz.
ComputeRouteMatrix yöntemini etkinleştirme
Kodunuzda ComputeRouteMatrix
yöntemini kullanabilmek için bu yöntemi etkinleştirmeniz gerekir. Routes Preferred API yöntemlerini etkinleştirme hakkında daha fazla bilgi için Başlangıç başlıklı makaleyi inceleyin.
ComputeRouteMatrix yöntemini kullanma
ComputeRouteMatrix
yöntemi, Routes Preferred v1 uç noktası üzerinden kullanılabilir.
Daha ayrıntılı bilgi için aşağıdaki belgelere bakın:
gRPC:
https://developers.google.com/maps/documentation/routes_preferred/reference/rpc/google.maps.routes.v1
REST:
https://developers.google.com/maps/documentation/routes_preferred/reference/rest/v1/TopLevel/computeRouteMatrix
Aşağıdaki genel adımlarda, ComputeRouteMatrix
yöntemini çağırmak için gRPC'nin nasıl kullanılacağı açıklanmaktadır:
googleapis deposundan gerekli protobuffer'ları kontrol edin:
https://github.com/googleapis/googleapis/tree/master/google/maps/routes
Go gibi bazı derleme sistemlerinin bunu sizin için otomatik olarak yapabileceğini unutmayın.
Tercih ettiğiniz dili ve derleme araçlarını kullanarak ilgili protobuffer kodunu oluşturun.
İsteğinizi oluşturun. İstekle birlikte iki zorunlu meta veri gönderilmelidir:
- X-Goog-Api-Key, API anahtarınız olarak ayarlanmalıdır.
X-Goog-Fieldmask, yanıttan istediğiniz alanların virgülle ayrılmış listesi olarak ayarlanmalıdır. Örneğin,
X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status.
Tüm alanları belirtmek için joker karakter (*) kullanabilirsiniz ancak bu önerilmez. API yanıtını test etmek ve anlamak için joker karakteri kullanın ancak üretim kodunuzdaki alan maskesinde istediğiniz alanları açıkça listeleyin.
Alan maskesi dizesinin nasıl oluşturulacağı hakkında daha fazla bilgi için https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto adresini ziyaret edin.
İhtiyacınız olmayan alanları devre dışı bırakmanın, bu alanlar daha fazla hesaplama gerektirebileceğinden gecikmeyi azaltabileceğini unutmayın. İhtiyacınız olan alanları ve daha fazla hesaplama gerektiren yeni alanları daha sonra eklerseniz gecikme süreniz sabit kalır.
İsteğinizi routespreferred.googleapis.com:443
adresine gönderin.TLS protokolünü kullanmanız gerekir.
ComputeRouteMatrix
yönteminin kullanımına ilişkin örnekler için Rota Matrisi Hesaplama (Beta) Örnekleri başlıklı makaleye bakın.
ComputeRouteMatrix
yönteminin ayırt edici özelliklerinden biri, hata kodlarının akışın tamamı veya ayrı ayrı öğeler için döndürülebilmesidir. Örneğin, istek hatalıysa (ör. sıfır kaynağı varsa) akış bağlantısı hata döndürür. Ancak bir hata yalnızca akışın birkaç öğesi için geçerliyse (ör. bir kaynak için geçersiz yer kimliği ayarlama), yalnızca hatadan etkilenen öğeler hata kodları içerir.
Akış tarafından döndürülen öğelerin herhangi bir sırada döndürülmesi garanti edilmez. Bu nedenle, her öğe bir origin_index
ve bir destination_index
içerir. İstek tarafından belirtilen kaynaklar ve hedefler için rota kaynağı, belirli bir öğe için origins[origin_index]
ile eşdeğerdir ve rota hedefi destinations[destination_index]
ile eşdeğerdir. Bu diziler sıfır tabanlıdır. Kaynak ve hedef liste sıralamalarını saklamak önemlidir.
Geçiş ücretlerini hesaplama
Geçiş ücretlerini hesaplama hakkında bilgi için Geçiş ücretlerini hesaplama başlıklı makaleyi inceleyin.
Geçiş ücretlerinin hesaplanmasıyla ilgili örnekler için Rota Matrisi Hesaplama Örnekleri bölümüne bakın.
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-07-22 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-22 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eComputeRouteMatrix\u003c/code\u003e method in the Routes Preferred API calculates distances and durations for multiple origin-destination pairs, offering advantages like streaming results and traffic calculation options.\u003c/p\u003e\n"],["\u003cp\u003eIt's necessary to enable the \u003ccode\u003eComputeRouteMatrix\u003c/code\u003e method and understand quota limits before implementation, ensuring compliance with Google Maps Platform terms.\u003c/p\u003e\n"],["\u003cp\u003eThe method can be accessed through gRPC or REST, with specific steps outlined for using gRPC, including generating protobuffer code and configuring requests.\u003c/p\u003e\n"],["\u003cp\u003eResponses include \u003ccode\u003eorigin_index\u003c/code\u003e and \u003ccode\u003edestination_index\u003c/code\u003e to correlate results with input data since the order of elements is not guaranteed.\u003c/p\u003e\n"],["\u003cp\u003eToll fee calculation functionality is available within \u003ccode\u003eComputeRouteMatrix\u003c/code\u003e, allowing developers to incorporate toll costs into route planning.\u003c/p\u003e\n"]]],["The `ComputeRouteMatrix` method of the Routes Preferred API calculates route distance and duration for multiple origins and destinations via streaming gRPC or REST HTTP calls. It offers lower latency, fine-grained traffic options, higher availability, waypoint specifications, and toll information. To use it, enable the method, and send requests with API key and field mask. The method returns elements with `origin_index` and `destination_index`. Error codes can be returned for the entire stream or per individual element.\n"],null,["# Compute a Route Matrix\n\n\u003cbr /\u003e\n\n| This product or feature is in Preview (pre-GA). Pre-GA products and features might have limited support, and changes to pre-GA products and features might not be compatible with other pre-GA versions. Pre-GA Offerings are covered by the [Google\n| Maps Platform Service Specific Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms). For more information, see the [launch stage\n| descriptions](/maps/launch-stages).\n\n\u003cbr /\u003e\n\nYou can calculate the distance and duration of a route for multiple\norigins and destinations by using the `ComputeRouteMatrix` method\nof the Routes Preferred API. `ComputeRouteMatrix` supports\nboth streaming gRPC calls and REST HTTP calls.\n\nGiven a list of origin and destination pairs, `ComputeRouteMatrix`\ncalculates the distance and duration of a route starting at each origin\nand ending at each destination. Each element of the stream corresponds\nto the information for a single route.\n\nThe `ComputeRouteMatrix` method has several advantages over the\nDistance Matrix Service:\n\n- Streaming allows elements to be returned before the entire matrix has been calculated, lowering latency.\n- `ComputeRouteMatrix` has fine-grained options for traffic calculation, letting you make quality-latency tradeoff decisions.\n- Requests are run at a higher priority within Google's infrastructure, which results in higher availability.\n- You can specify heading (direction of travel) and side-of-road information for waypoints.\n- You can request for toll information to be returned, along with route distance and ETA.\n\nEnable the ComputeRouteMatrix method\n------------------------------------\n\nBefore you can use the `ComputeRouteMatrix` method in your code, you must\nenable it. For more information on enabling Routes Preferred API\nmethods, see [Getting Started](/maps/documentation/routes_preferred/get_started).\n| **Important:** Check your quota limits for Routes Preferred API methods. If you need to increase your quota limits, contact support by filing a case on the [Google Maps Platform support page](https://console.cloud.google.com/google/maps-apis/support) in the Google Cloud Console, or by calling the [Google Cloud Support Hotline](/maps/documentation/routes_preferred/support#support_hotline).\n\nUse the ComputeRouteMatrix method\n---------------------------------\n\nThe `ComputeRouteMatrix` method is available through the Routes Preferred\n*v1* endpoint.\n\nSee the following documentation for more detailed information:\n\ngRPC:\n\u003chttps://developers.google.com/maps/documentation/routes_preferred/reference/rpc/google.maps.routes.v1\u003e\n\nREST:\n\u003chttps://developers.google.com/maps/documentation/routes_preferred/reference/rest/v1/TopLevel/computeRouteMatrix\u003e\n\nThe following generic steps describe how to use gRPC to call\nthe `ComputeRouteMatrix` method:\n\n1. Check out the necessary protobuffers from the googleapis repository:\n\n \u003chttps://github.com/googleapis/googleapis/tree/master/google/maps/routes\u003e\n\n Note that some build systems, such as Go, may automatically do this for you.\n2. Using your preferred language and set of build tools, generate the relevant\n protobuffer code.\n\n3. Generate your request. Two required pieces of metadata must be sent\n with the request:\n\n - *X-Goog-Api-Key* must be set to your API key.\n - *X-Goog-Fieldmask* must be set to a comma separated list of the fields\n you require from the response. For example,\n *X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status*.\n You can use the wildcard character (\\*) to denote all fields, but that is\n discouraged. Use the wildcard character to test and understand the\n API response, but explicitly list the fields you want in the field mask\n in your production code.\n\n For more information on how to construct the field mask string, see\n \u003chttps://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto\u003e.\n Note that disabling fields you do not need can reduce latency since\n those fields may require further computation. Your latency will stay\n stable if you specify the fields you need and new fields that require\n more computation are added later.\n4. Send your request to `routespreferred.googleapis.com:443`.You must use\n the TLS protocol.\n\nFor examples of using the `ComputeRouteMatrix` method, see\n[Computing a Route Matrix (Beta) Examples](/maps/documentation/routes_preferred/compute_matrix_examples).\n\nOne distinguishing feature of the `ComputeRouteMatrix` method is that\nerror codes can be returned either for the entire stream or for individual\nelements. For example, the stream connection returns an error if the request\nis malformed (for example, it has zero origins). However, if an error applies\nto just a few elements of the stream (for example, setting an invalid Place ID\nfor an origin), then only the elements affected by the error contain error codes.\n\nThe elements returned by the stream are not guaranteed to be returned\nin any order. Because of this, each element contains an `origin_index`\nand a `destination_index`. For the origins and destinations specified\nby the request, the route origin is equivalent to `origins[origin_index]`\nfor a given element and the route destination is is equivalent\nto `destinations[destination_index]`. These arrays are zero-indexed. It\nis important to store the origin and destination list orders.\n\nCalculating toll fees\n---------------------\n\nFor information on calculating toll fees, see\n[Calculate toll fees](/maps/documentation/routes_preferred/calculate_toll_fees).\n\nFor examples of calculating toll fees, see\n[Computing a Route Matrix Examples](/maps/documentation/routes_preferred/compute_matrix_examples#toll-fee-examples)."]]