Güzergah Matrisi hesaplayın

Routes Preferred API'nin ComputeRouteMatrix yöntemini kullanarak birden fazla başlangıç noktası ve hedef için bir rotanın mesafesini ve süresini hesaplayabilirsiniz. ComputeRouteMatrix, hem akışlı gRPC çağrılarını hem de REST HTTP çağrılarını destekler.

Kalkış ve hedef çiftlerinin bir listesine bakarak ComputeRouteMatrix, her kalkıştan başlayıp her hedefte sona eren rotanın mesafesini ve süresini hesaplar. Akışın her bir öğesi, tek bir rotanın bilgilerine karşılık gelir.

ComputeRouteMatrix yönteminin Mesafe Matrisi Hizmeti'ne kıyasla bazı avantajları vardır:

  • Akış, matrisin tamamı hesaplanmadan önce öğelerin döndürülmesini sağlayarak gecikmeyi azaltır.
  • ComputeRouteMatrix, trafik hesaplaması için ayrıntılı seçeneklere sahiptir. Böylece kalite gecikmesinden ödün verme konusunda kararlar verebilirsiniz.
  • İstekler Google'ın altyapısında daha yüksek öncelikte çalıştırılır ve bu da daha yüksek kullanılabilirlik sağlar.
  • Ara noktalar için yön (seyahat yönü) ve yol yan tarafı bilgilerini belirtebilirsiniz.
  • Rota mesafesi ve TVS ile birlikte ücretli geçiş bilgilerinin iade edilmesini isteyebilirsiniz.

ComputeRouteMatrix yöntemini etkinleştirme

Kodunuzda ComputeRouteMatrix yöntemini kullanabilmek için önce etkinleştirmeniz gerekir. Routes Preferred API yöntemlerini etkinleştirme hakkında daha fazla bilgi için Başlarken bölümüne bakın.

ComputeRouteMatrix yöntemini kullanma

ComputeRouteMatrix yöntemi, Tercih Edilen Rotalar v1 uç noktası üzerinden kullanılabilir.

Daha ayrıntılı bilgi için aşağıdaki belgelere göz atı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:

  1. Googleapis deposundaki gerekli protobuffers'a bakın:

    https://github.com/googleapis/googleapis/tree/master/google/maps/routes

    Go gibi bazı derleme sistemlerinin bu işlemi sizin için otomatik olarak yapabileceğini unutmayın.

  2. Tercih ettiğiniz dili ve derleme araçları kümesini kullanarak ilgili proto arabellek kodunu oluşturun.

  3. İsteğinizi oluşturun. İstekle birlikte gerekli iki meta veri parçası gönderilmelidir:

    • X-Goog-Api-Key, API anahtarınız olarak ayarlanmalıdır.
    • X-Goog-Fieldmask, yanıttan ihtiyaç duyduğunuz alanların virgülle ayrılmış listesine 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 istediğiniz alanları üretim kodunuzdaki alan maskesinde 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 adresine bakın. İhtiyacınız olmayan alanların devre dışı bırakılmasının, bu alanlar daha fazla hesaplama gerektirebileceğinden gecikmeyi azaltabileceğini unutmayın. İhtiyacınız olan alanları belirtirseniz gecikmeniz sabit kalır ve ilerleyen zamanlarda daha fazla hesaplama gerektiren yeni alanlar eklenir.

  4. İsteğinizi routespreferred.googleapis.com:443 adlı kuruluşa gönderin.TLS protokolünü kullanmanız gerekir.

ComputeRouteMatrix yönteminin kullanımına ilişkin örnekler için Rota Matrisi Hesaplama (Beta) Örnekleri bölümüne bakın.

ComputeRouteMatrix yönteminin ayırt edici özelliklerinden biri, hata kodlarının tüm akış veya bağımsız öğeler için döndürülebilmesidir. Örneğin, isteğin biçimi yanlışsa (ör. kaynağı sıfırsa) akış bağlantısı hata döndürür. Bununla birlikte, bir hata akışın yalnızca birkaç öğesi için geçerliyse (örneğin, bir kaynak için geçersiz bir Yer Kimliği ayarlamak) yalnızca hatadan etkilenen öğeler hata kodları içerir.

Akış tarafından döndürülen öğelerin herhangi bir sırada döndürüleceği garanti edilmez. Bu nedenle, her öğe bir origin_index ve bir destination_index içerir. İstek tarafından belirtilen başlangıç noktaları ve hedefler için rota kaynağı belirli bir öğe için origins[origin_index] ile, rota hedefi ise destinations[destination_index] ile eşdeğerdir. Bu diziler sıfır dizinlidir. Kaynak ve hedef listesi sıralarını saklamak önemlidir.

Geçiş ücretleri hesaplanıyor

Geçiş ücretlerini hesaplama hakkında bilgi edinmek için Geçiş ücretlerini hesaplama bölümüne bakın.

Geçiş ücretlerini hesaplama örnekleri için Rota Matrisi Örnekleri Hesaplama bölümüne bakın.