Method: computeRouteMatrix

Kalkış ve varış noktalarının listesini alır ve her kalkış ve varış noktası 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:

  • Kullanılabilir tüm alanların alan maskesi (manuel inceleme için): X-Goog-FieldMask: *
  • Rota süreleri, mesafeler, öğe durumu, durum 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çmek, sunucumuzun hesaplama döngülerinde tasarruf etmesine yardımcı olur. Bu da sonucu size daha düşük gecikmeli olarak döndürmemize olanak tanır.
  • Ü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 için ek hesaplama süresi gerekebilir. Tüm alanları veya üst düzeydeki tüm alanları seçerseniz ekleyeceğimiz yeni alanlar yanıta otomatik olarak dahil edileceğinden performansta düşüş yaşayabilirsiniz.
  • Yalnızca ihtiyacınız olan alanları seçmek, yanıt boyutunun küçülmesine ve dolayısıyla ağ aktarım hızının 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 içeriği

İstek metni 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 kardinalitesi için çeşitli boyut kısıtlamaları geçerlidir:

  • placeId veya address olarak belirtilen başlangıç sayısı ile varış sayısı toplamı 50'den fazla olmamalıdır.
  • Kaynak sayısı × hedef sayısı çarpımı hiçbir durumda 625'ten büyük olmamalıdır.
  • routingPreference TRAFFIC_AWARE_OPTIMAL olarak ayarlanmışsa kaynak sayısı × hedef sayısı çarpımı 100'den büyük olmamalıdır.
  • travelMode TRANSIT olarak ayarlanmışsa başlangıç 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ı. Ulaşım şeklini belirtir.

routingPreference

enum (RoutingPreference)

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

Nanosaniye çözünürlüğüne ve en fazla dokuz kesirli basamağa sahip, RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Ö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 ikilisinden birini belirtin; ikisini birden belirtmeyin.

Nanosaniye çözünürlüğüne ve en fazla dokuz kesirli basamağa sahip, RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: "2014-10-02T15:01:23Z" ve "2014-10-02T15:01:23.045123456Z".

languageCode

string

İsteğe bağlı. BCP-47 dil kodu ("en-US" veya "sr-Latn" gibi). Daha fazla bilgi için Unicode Yerel Ayarı Tanımlayıcısı başlıklı makaleyi inceleyin. Desteklenen dillerin listesi için Dil desteği bölümüne bakın. Bu değeri sağlamazsanız görüntüleme dili, ilk kaynağın konumundan anlaşılır.

regionCode

string

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

units

enum (Units)

İsteğe bağlı. Gösterge 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 ek alanlar döndürebilir. Bu ek alanlar, yanıtta döndürülecek şekilde alan maskesinde de belirtilmelidir.

trafficModel

enum (TrafficModel)

İsteğe bağlı. Trafikte geçirilen süreyi hesaplarken kullanılacak varsayımları belirtir. Bu ayar, geçmiş ortalamalara göre trafikte tahmini süreyi içeren RouteMatrixElement öğesindeki süre alanında döndürülen değeri etkiler. RoutingPreference - TRAFFIC_AWARE_OPTIMAL ve RouteTravelMode - DRIVE. Trafik istenirse 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 transitPreferences belirtebilirsiniz.

Yanıt gövdesi

v2.computeRouteMatrix API'de bir kaynak/varış noktası ç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ı belirtir. Durumdan bağımsızdır.

distanceMeters

integer

Rotayı katedilen mesafe (metre cinsinden).

duration

string (Duration format)

Rotada gezinmek için gereken süre. routingPreference öğesini TRAFFIC_UNAWARE olarak ayarlarsanız bu değer staticDuration ile aynıdır. 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 rotadaki seyahat 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 otoyol ücreti bilgileri

fallbackInfo

object (FallbackInfo)

Sunucu, belirli bir kaynak/varış noktası çifti için verilen tercihlerle rotayı hesaplayamadığında farklı bir hesaplama modu kullanabilir. Yedek modu 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 temsilleri.

originIndex

integer

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

destinationIndex

integer

İstekte 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ıç ara noktası

routeModifiers

object (RouteModifiers)

İsteğe bağlı. Bu konumu başlangıç noktası olarak kullanan 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 yol noktası

ExtraComputation

İsteği tamamlarken yapılacak ek hesaplamalar.

Sıralamalar
EXTRA_COMPUTATION_UNSPECIFIED Kullanılmadı. 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 değeri OK olmadığında kullanılır.
ROUTE_EXISTS Bir rota bulundu ve öğe için ilgili bilgiler dolduruldu.
ROUTE_NOT_FOUND Rota bulunamadı. distanceMeters veya duration gibi rota bilgilerini içeren alanlar öğ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.