Method: computeRouteMatrix

Başlangıç ve varış noktalarının listesini alır ve her bir 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. Yanıt alanı maskesini $fields veya fields URL parametresini ya da X-Goog-FieldMask HTTP/gRPC başlığını kullanarak sağlayabilirsiniz (kullanılabilir URL parametreleri ve başlıklarına 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ı belgeleri inceleyin.

Ö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, durum ve öğe dizinlerinin alan maskesi (örnek üretim kurulumu): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

Alan maskenize status eklemeniz gerekir. Aksi takdirde, tüm iletiler sorunsuz görünür. Google, joker karakter (*) yanıt alanı maskesinin kullanılmasını önermez, çünkü:

  • 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 sunmamıza olanak tanır.
  • Üretim işinizde yalnızca ihtiyacınız olan alanların seçilmesi, gecikme performansının istikrarlı olmasını sağlar. Gelecekte daha fazla yanıt alanı ekleyebiliriz ve bu yeni alanlar ekstra 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üşüş yaşayabilirsiniz.
  • Yalnızca ihtiyacınız olan alanların seçilmesi, daha küçük bir yanıt boyutuyla ve dolayısıyla daha yüksek ağ işleme hızıyla sonuçlanır.

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

İsteğin gövdesi, aşağıdaki yapıya sahip veriler 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. Başlangıç noktalarının ve hedeflerin kardinalitesi için çeşitli boyut kısıtlamaları geçerlidir:

  • placeId veya address olarak belirtilen başlangıç noktalarının sayısı + varış noktalarının toplamı 50'den büyük olmamalıdır.
  • Kaynak sayısı çarpımı × varış noktası sayısı hiçbir durumda 625'ten büyük olmamalıdır.
  • yönlendirme Tercihi TRAFFIC_AWARE_OPTIMAL olarak ayarlanırsa başlangıç noktası sayısı × hedef sayısı çarpımı 100'den büyük olmamalıdır.
  • Seyahat modu TRANSIT olarak ayarlanırsa kalkış noktası sayısının × varış noktası sayısının ç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, yolu hesaplamak için seçili yönlendirme tercihini kullanmayı dener. Yönlendirme tercihi hataya veya ekstra uzun gecikmeye yol açarsa 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 bu değer varsayılan olarak, istekte bulunduğunuz zamana ayarlanır. NOT: Yalnızca RouteTravelMode, TRANSIT olarak ayarlandığında departureTime öğesini belirtebilirsiniz.

Nanosaniye çözünürlük ve en fazla dokuz kesir basamağı olan, 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 yapılabilir. departureTime veya arrivalTime değerlerinden birini belirtebilirsiniz, ancak ikisini birden belirtemezsiniz.

Nanosaniye çözünürlük ve en fazla dokuz kesir basamağı olan, 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ı. "en-US" veya "sr-Latn" gibi BCP-47 dil kodu. 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 sayfasına göz atın. Bu değeri sağlamadığınızda görüntüleme dili, ilk kaynağın konumuna göre belirlenir.

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örüntülenen alanlar için ölçü birimlerini belirtir.

extraComputations[]

enum (ExtraComputation)

İsteğe bağlı. İsteği tamamlamak için kullanılabilecek ekstra hesaplamaların listesi. Not: Bu ekstra 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üreyi hesaplarken kullanılacak varsayımları belirtir. Bu ayar, RouteMatrixElement alanındaki süre alanında döndürülen değeri etkiler. Bu alan, geçmiş ortalamalara göre trafikte tahmini süreyi içerir. RoutingPreference - TRAFFIC_AWARE_OPTIMAL ve RouteTravelMode - DRIVE. Trafik isteniyorsa ve TrafficModel belirtilmezse varsayılan olarak BEST_GUESS olur.

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'sinde bir başlangıç/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ı belirtir. 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 öğesini TRAFFIC_UNAWARE olarak ayarlarsanız bu değer staticDuration ile aynı olur. routingPreference öğesini TRAFFIC_AWARE veya TRAFFIC_AWARE_OPTIMAL olarak ayarlarsanız bu değer, trafik koşulları dikkate alınarak hesaplanır.

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

staticDuration

string (Duration format)

Trafik koşulları dikkate alınmadan rota boyunca seyahatin süresi.

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

travelAdvisory

object (RouteTravelAdvisory)

Rota hakkında ek bilgi. Örneğin: kısıtlama bilgileri ve geçiş ücreti bilgileri

fallbackInfo

object (FallbackInfo)

Sunucunun söz konusu başlangıç/hedef çifti için verilen tercihlerle güzergahı hesaplayamadığı bazı durumlarda, farklı bir hesaplama modu kullanmaya geçebilir. Yedek modu 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 temsilleri.

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ı. Bunu kaynak 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. Varış noktası

ExtraComputation

İstek tamamlanırken gerçekleştirilecek ekstra 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 uygun olmadığında kullanılır.
ROUTE_EXISTS Bir rota bulundu ve öğeye ilişkin bilgiler dolduruldu.
ROUTE_NOT_FOUND Rota bulunamadı. distanceMeters veya duration gibi rota bilgilerini içeren alanlar öğede doldurulmaz.

LocalizedValues

Belirli mülklerin 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ı olur.

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.