Method: computeRouteMatrix

Kalkış noktalarının 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 üstbilgisini kullanarak sağlayabilirsiniz (kullanılabilir URL parametrelerine ve üstbilgilerine bakın. Değer, alan yollarının virgülle ayrılmış listesidir. Alan yollarının nasıl oluşturulacağı ile ilgili bu ayrıntılı belgeleri 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

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

  • Yalnızca ihtiyacınız olan alanların seçilmesi, 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 daha fazla hesaplama süresi gerektirebilir. Tüm alanları veya en üst düzeydeki tüm alanları seçerseniz eklediğimiz yeni alanlar otomatik olarak yanıta dahil edileceğinden performansta düşüş yaşayabilirsiniz.
  • Yalnızca ihtiyacınız olan alanların seçilmesi, daha küçük bir yanıt boyutu ve dolayısıyla daha yüksek ağ işleme hızıyla sonuçlanır.

HTTP isteği

POST https://routespreferred.googleapis.com/v1:computeRouteMatrix

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

İstek içeriği

İstek gövdesi, aşağıdaki yapıyla birlikte veriler içerir:

JSON gösterimi
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string
}
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ı vardır:

  • Öğe sayısı (kaynaklar × hedefler) hiçbir durumda 625'ten büyük olmamalıdır.
  • yönlendirme Tercihi TRAFFIC_AWARE_OPTIMAL olarak ayarlanırsa öğe sayısı (kaynaklar × hedefler) 100'den fazla olmamalıdır.
  • placeId olarak belirtilen ara noktaların (başlangıç noktaları + varış noktaları) sayısı 50'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 şeklini 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 kullanmayı dener. Yönlendirme tercihi hataya veya ekstra uzun bir gecikmeye yol açarsa hata döndürülür. Gelecekte, tercih edilen seçenek geçerli bir sonuç sağlamadığında farklı bir seçenek kullanmak için yedek bir mekanizma uygulayabiliriz. 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 istekte bulunduğunuz zaman kullanılır. Bu değeri zaten gerçekleşmiş bir zamana ayarlarsanız istek başarısız olur.

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

Yanıt gövdesi

Başarılıysa yanıt metni, RouteMatrixElement öğesinin bir örneğini içerir.

Yetkilendirme Kapsamları

Aşağıdaki OAuth kapsamını gerektirir:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

Daha fazla bilgi için OAuth 2.0'a Genel Bakış başlıklı makaleye bakın.