Method: computeRouteMatrix

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. $fields veya fields URL parametresini ya da X-Goog-FieldMask HTTP/gRPC başlığını kullanarak yanıt alanı maskesini sağlayabilirsiniz (kullanılabilir URL parametreleri ve üstbilgilerine bakın). Değer, alan yollarının virgülle ayrılmış bir listesidir. Alan yollarının nasıl oluşturulacağı ile ilgili bu ayrıntılı dokümanlara bakın.

Ö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

Alan maskenize status eklemeniz çok önemlidir, aksi takdirde tüm iletilerde sorun yoktur. 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 ihtiyaç duyduğunuz alanları seçmeniz, gecikme performansının istikrarlı olmasını 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://routes.googleapis.com/distanceMatrix/v2: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:

JSON gösterimi
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string,
  "arrivalTime": string,
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
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:

  • placeId veya address olarak belirtilen kaynak sayısı ile hedef sayısının toplamı 50'den büyük olmamalıdır.
  • Hiçbir durumda kaynak sayısının çarpımı × hedef sayısı 625'ten büyük olmamalıdır.
  • YönlendirmeTercihi, TRAFFIC_AWARE_OPTIMAL olarak ayarlandıysa kaynak sayısının çarpımı × hedef sayısının çarpımı 100'den büyük olmamalıdır.
  • TravelMode, TRANSIT olarak ayarlanırsa kaynak sayısının çarpımı × hedef sayısının çarpımı 100'den fazla olmamalıdır.
destinations[]

object (RouteMatrixDestination)

Zorunlu. Yanıt matrisinin sütunlarını belirleyen hedefler dizisi.

travelMode

enum (RouteTravelMode)

İsteğe bağlı. Ulaşım modunu 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 değer, varsayılan olarak isteği yaptığınız zaman olur. NOT: Yalnızca RouteTravelMode, TRANSIT olarak ayarlandığında geçmişte bir departureTime belirtebilirsiniz.

RFC3339 UTC "Zulu" zaman damgası biçiminde olmalıdır. Örnekler: "2014-10-02T15:01:23Z" ve "2014-10-02T15:01:23.045123456Z".

arrivalTime

string (Timestamp format)

İsteğe bağlı. Varış saati. NOT: Yalnızca RouteTravelMode, TRANSIT olarak ayarlandığında ayarlanabilir. departureTime ve arrivalTime öğelerinden birini belirtebilirsiniz ancak ikisini birden belirtemezsiniz.

RFC3339 UTC "Zulu" zaman damgası biçiminde olmalıdır. Örnekler: "2014-10-02T15:01:23Z" ve "2014-10-02T15:01:23.045123456Z".

languageCode

string

İsteğe bağlı. "en-US" gibi BCP-47 dil kodu veya "sr-Latn" girin. Daha fazla bilgi için Unicode Yerel Ayar Tanımlayıcısı bölümüne bakın. Desteklenen dillerin listesi için Dil Desteği bölümüne bakın. Bu değeri sağlamadığınızda, görüntüleme dili ilk kaynağın konumundan türetilir.

regionCode

string

İsteğe bağlı. ccTLD ("üst düzey alan") olarak belirtilen iki karakterlik değer. Daha fazla bilgi için Ülke kodu üst düzey alanları başlıklı makaleyi inceleyin.

units

enum (Units)

İsteğe bağlı. Görünen alanlar için ölçü birimlerini belirtir.

extraComputations[]

enum (ExtraComputation)

İsteğe bağlı. İsteği tamamlamak için kullanılabilecek ek hesaplamaların listesi. Not: Bu ek hesaplamalar, yanıtta fazladan alanlar döndürebilir. Bu ek alanların, yanıtta döndürülmesi için alan maskesinde de belirtilmesi gerekir.

trafficModel

enum (TrafficModel)

İsteğe bağlı. Trafikteki süre hesaplanırken kullanılacak varsayımları belirtir. Bu ayar, geçmiş ortalamalara göre trafikte tahmini süreyi içeren RouteMatrixElement içindeki süre alanında döndürülen değeri etkiler. RoutingPreference - TRAFFIC_AWARE_OPTIMAL ve RouteTravelMode - DRIVE. Trafik isteniyorsa ve TrafficModel belirtilmezse varsayılan olarak BEST_GUESS değerine ayarlanır.

transitPreferences

object (TransitPreferences)

İsteğe bağlı. TRANSIT rotaları için döndürülen rotayı etkileyen tercihleri belirtir. NOT: Yalnızca RouteTravelMode, TRANSIT olarak ayarlandığında bir transitPreferences belirtebilirsiniz.

Yanıt gövdesi

v2.computeRouteMatrix API'deki bir kaynak/hedef çifti için hesaplanan rota bilgilerini içerir. Bu proto, istemciye yayınlanabilir.

Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "status": {
    object (Status)
  },
  "condition": enum (RouteMatrixElementCondition),
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "localizedValues": {
    object (LocalizedValues)
  },
  "originIndex": integer,
  "destinationIndex": integer
}
Alanlar
status

object (Status)

Bu öğe için hata durum kodu.

condition

enum (RouteMatrixElementCondition)

Rotanın bulunup bulunmadığını gösterir. Durumdan bağımsızdır.

distanceMeters

integer

Rotanın metre cinsinden seyahat mesafesi.

duration

string (Duration format)

Rotada gezinmek için gereken süre. routingPreference özelliğini TRAFFIC_UNAWARE olarak ayarlarsanız bu değer staticDuration ile aynı olur. routingPreference değerini TRAFFIC_AWARE veya TRAFFIC_AWARE_OPTIMAL olarak ayarlarsanız bu değer, trafik koşulları dikkate alınarak hesaplanır.

En fazla dokuz kesir basamağı olan ve "s" ile biten, saniye cinsinden süre. Örnek: "3.5s".

staticDuration

string (Duration format)

Trafik koşulları dikkate alınmadan, rota boyunca seyahat etme süresi.

En fazla dokuz kesir basamağı olan ve "s" ile biten, saniye cinsinden süre. Örnek: "3.5s".

travelAdvisory

object (RouteTravelAdvisory)

Rota hakkında ek bilgiler. Örneğin: kısıtlama bilgileri ve ücret bilgileri

fallbackInfo

object (FallbackInfo)

Bazı durumlarda sunucu, rotayı söz konusu kaynak/hedef çifti için verilen tercihlerle hesaplayamadığında farklı bir hesaplama modu kullanabilir. Yedek mod kullanıldığında bu alan, yedek yanıt hakkında ayrıntılı bilgiler içerir. Aksi takdirde bu alan ayarlanmaz.

localizedValues

object (LocalizedValues)

RouteMatrixElement özelliklerinin metin gösterimleri.

originIndex

integer

İstekteki kaynağın sıfır tabanlı dizini.

destinationIndex

integer

İstekteki hedefin sıfır tabanlı dizini.

RouteMatrixOrigin

ComputeRouteMatrixRequest için tek bir kaynak

JSON gösterimi
{
  "waypoint": {
    object (Waypoint)
  },
  "routeModifiers": {
    object (RouteModifiers)
  }
}
Alanlar
waypoint

object (Waypoint)

Zorunlu. Başlangıç noktası referans noktası

routeModifiers

object (RouteModifiers)

İsteğe bağlı. Bunu başlangıç noktası olarak alan her rota için değiştiriciler

RouteMatrixDestination

ComputeRouteMatrixRequest için tek bir hedef

JSON gösterimi
{
  "waypoint": {
    object (Waypoint)
  }
}
Alanlar
waypoint

object (Waypoint)

Zorunlu. Hedef ara nokta

ExtraComputation

İstek tamamlanırken gerçekleştirilecek ek hesaplamalar.

Sıralamalar
EXTRA_COMPUTATION_UNSPECIFIED Kullanılmıyor. Bu değeri içeren istekler başarısız olur.
TOLLS Matris öğeleri için ücret bilgileri.

RouteMatrixElementCondition

Döndürülen rotanın durumu.

Sıralamalar
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED Yalnızca öğenin status özelliği uygun olmadığında kullanılır.
ROUTE_EXISTS Bir rota bulundu ve öğeye karşılık gelen bilgiler dolduruldu.
ROUTE_NOT_FOUND Rota bulunamadı. Rota bilgilerini içeren alanlar (ör. distanceMeters veya duration) öğede doldurulmaz.

LocalizedValues

Belirli tesislerin metin temsilleri.

JSON gösterimi
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
Alanlar
distance

object (LocalizedText)

Metin biçiminde gösterilen seyahat mesafesi.

duration

object (LocalizedText)

Trafik koşulları dikkate alınarak metin biçiminde gösterilen süre. Not: Trafik bilgileri istenmediyse bu değer, staticDuration ile aynı değerdir.

staticDuration

object (LocalizedText)

Trafik koşulları dikkate alınmadan metin biçiminde gösterilen süre.

transitFare

object (LocalizedText)

Toplu taşıma ücreti metin biçiminde gösterilir.