Method: computeRouteMatrix

Başlangıç ve varış noktalarının listesini alır ve her başlangıç-varış noktası kombinasyonu için rota bilgilerini içeren bir akış döndürür.

NOT: Bu yöntemde, girişte bir yanıt alan maskesi belirtmeniz gerekir. 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 yolu listesidir. Alan yollarının nasıl oluşturulacağı hakkında ayrıntılı bilgi için bu belgeye 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 (üretim kurulumu örneği): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

Aksi takdirde tüm mesajlar "Tamam" olarak görüneceğinden alan maskenize status eklemeniz çok önemlidir. Google, joker karakter (*) yanıt alanı maskesinin kullanılmasını önermez. Bunun nedeni:

  • Yalnızca ihtiyacınız olan alanları seçmek, sunucumuzun hesaplama döngülerini kaydetmesine yardımcı olur. Bu sayede, sonucu size daha düşük gecikmeyle döndürebiliriz.
  • Üretim işinizde yalnızca ihtiyacınız olan alanları seçmek, gecikme süresinin kararlı bir şekilde performans göstermesini sağlar. Gelecekte daha fazla yanıt alanı ekleyebiliriz ve bu yeni alanlar ek hesaplama süresi gerektirebilir. Tüm alanları veya üst düzeydeki tüm alanları seçerseniz eklediğimiz her yeni alan yanıta otomatik olarak dahil edileceğinden performans düşüşü yaşayabilirsiniz.
  • Yalnızca ihtiyacınız olan alanları seçmek, yanıt boyutunun küçülmesine ve dolayısıyla ağ verimliliğinin artmasına neden olur.

HTTP isteği

POST https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

İstek metni

İstek içeriği aşağıdaki yapıyla birlikte 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 kaynak dizisi. Kaynakların ve hedeflerin kardinalitesiyle ilgili çeşitli boyut kısıtlamaları vardır:

  • placeId veya address olarak belirtilen kaynak sayısı ile hedef sayısının toplamı 50'den fazla olmamalıdır.
  • Hiçbir durumda kaynak sayısı × hedef sayısı çarpımı 625'ten büyük olmamalıdır.
  • routingPreference TRAFFIC_AWARE_OPTIMAL olarak ayarlanmışsa başlangıç noktası sayısı × hedef sayısı çarpımı 100'den büyük olmamalıdır.
  • travelMode TRANSIT olarak ayarlanmışsa başlangıç noktası sayısı × hedef sayısı çarpımı 100'den büyük olmamalıdır.
destinations[]

object (RouteMatrixDestination)

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

travelMode

enum (RouteTravelMode)

İsteğe bağlıdır. Ulaşım şeklini belirtir.

routingPreference

enum (RoutingPreference)

İsteğe bağlıdır. Rotanın nasıl hesaplanacağını belirtir. Sunucu, rotayı hesaplamak için seçilen yönlendirme tercihini kullanmaya çalışır. Yönlendirme tercihi hata veya çok uzun gecikmeye neden olursa 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ıdır. Kalkış saati. Bu değeri ayarlamazsanız varsayılan olarak isteği gönderdiğiniz zaman kullanılır. NOT: Yalnızca RouteTravelMode, TRANSIT olarak ayarlandığında geçmişte bir departureTime belirtebilirsiniz.

Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" veya "2014-10-02T15:01:23+05:30".

arrivalTime

string (Timestamp format)

İsteğe bağlıdır. Varış saati NOT: Yalnızca RouteTravelMode, TRANSIT olarak ayarlandığında belirlenebilir. departureTime veya arrivalTime değerini belirtebilirsiniz ancak ikisini birden belirtemezsiniz.

Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" veya "2014-10-02T15:01:23+05:30".

languageCode

string

İsteğe bağlıdır. BCP-47 dil kodu (ör. "en-US" veya "sr-Latn"). Daha fazla bilgi için Unicode Yerel Kimliği başlıklı makaleyi inceleyin. Desteklenen dillerin listesi için Dil Desteği'ne bakın. Bu değeri sağlamadığınızda, görüntüleme dili ilk kaynağın konumundan çıkarılır.

regionCode

string

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

units

enum (Units)

İsteğe bağlıdır. Görüntüleme alanlarının ölçü birimlerini belirtir.

extraComputations[]

enum (ExtraComputation)

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

trafficModel

enum (TrafficModel)

İsteğe bağlıdır. Trafikteki süreyi hesaplarken kullanılacak varsayımları belirtir. Bu ayar, RouteMatrixElement içinde döndürülen değeri etkiler. Bu değer, geçmiş ortalamalara dayalı olarak trafikteki tahmini süreyi içerir. TrafficModel yalnızca RoutingPreference değerinin TRAFFIC_AWARE_OPTIMAL, RouteTravelMode değerinin ise DRIVE olarak ayarlandığı istekler için kullanılabilir. Trafik istenirse ve TrafficModel belirtilmezse varsayılan olarak BEST_GUESS kullanılır.

transitPreferences

object (TransitPreferences)

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

Yanıt gövdesi

v2.computeRouteMatrix API'de bir başlangıç/hedef çifti için hesaplanan rota bilgilerini içerir. Bu proto, istemciye aktarılabilir.

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 öğenin hata durumu kodu.

condition

enum (RouteMatrixElementCondition)

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

distanceMeters

integer

Rotanın seyahat mesafesi (metre cinsinden).

duration

string (Duration format)

Rotada gezinmek için gereken süre. routingPreference değerini 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 kesirli basamak içeren ve "s" ile biten, saniye cinsinden süre. Örnek: "3.5s".

staticDuration

string (Duration format)

Trafik koşulları dikkate alınmadan rotada seyahat etme süresi.

En fazla dokuz kesirli basamak içeren 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 ücretli yol bilgileri

fallbackInfo

object (FallbackInfo)

Sunucunun, belirli bir başlangıç/varış noktası çifti için rotayı verilen tercihlerle hesaplayamadığı bazı durumlarda farklı bir hesaplama modu kullanmaya geri dönebilir. Yedek mod kullanıldığında bu alan, yedek yanıtla ilgili ayrıntılı bilgileri içerir. Aksi takdirde bu alanın değeri belirlenmez.

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ı

routeModifiers

object (RouteModifiers)

İsteğe bağlıdır. 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

İsteği tamamlarken gerçekleştirilecek ek hesaplamalar.

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

RouteMatrixElementCondition

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

Sıralamalar
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED Yalnızca öğenin status değeri "OK" olmadığında kullanılır.
ROUTE_EXISTS Bir rota bulundu ve öğe için ilgili bilgiler girildi.
ROUTE_NOT_FOUND Rota bulunamadı. distanceMeters veya duration gibi rota bilgilerini içeren alanlar öğede doldurulmaz.

LocalizedValues

Belirli özelliklerin metin gösterimleri.

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 bilgisi 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.