Bir dizi terminal ve ara ara nokta verildiğinde isteğe bağlı alternatif rotalarla birlikte birincil rotayı döndürür.
NOT: Bu yöntem, girişte bir yanıt alanı maskesi belirtmenizi gerektirir. $fields
veya fields
URL parametresini ya da bir HTTP/gRPC üstbilgisi X-Goog-FieldMask
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 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 düzeyinde süre, mesafe ve poli çizginin alan maskesi (örnek üretim kurulumu):
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline
Google, aşağıdaki nedenlerle joker karakter (*
) yanıt alanı maskesinin kullanılmasını veya alan maskesinin üst düzeyde (routes
) belirtilmesini ö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 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://routespreferred.googleapis.com/v1:computeRoutes
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 |
---|
{ "origin": { object ( |
Alanlar | |
---|---|
origin |
Zorunlu. Başlangıç noktası referans noktası. |
destination |
Zorunlu. Hedef referans noktası. |
intermediates[] |
İsteğe bağlı. Güzergah üzerinde durmak veya geçmek için rota üzerinde bir dizi ara nokta (uç noktalar hariç). En fazla 25 ara ara nokta desteklenir. |
travel |
İsteğe bağlı. Ulaşım şeklini belirtir. |
routing |
İ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 bir hatayla veya aşırı uzun bir gecikmeye neden olursa bir hata döndürülür. Bu seçeneği yalnızca |
polyline |
İsteğe bağlı. Çoklu çizginin kalitesi ile ilgili tercihinizi belirtir. |
polyline |
İsteğe bağlı. Çoklu çizgi için tercih edilen kodlamayı belirtir. |
departure |
İsteğe bağlı. Kalkış saati. Bu değeri ayarlamazsanız değer, varsayılan olarak isteği yaptığınız zaman olur. Bu değeri geçmişte olan bir zamana ayarlarsanız istek başarısız olur. RFC3339 UTC "Zulu" biçiminde, nanosaniye çözünürlüğüne ve en fazla dokuz kesirli basamağa sahip bir zaman damgası. Örnekler: |
compute |
İsteğe bağlı. Rotaya ek olarak alternatif rotaların hesaplanıp hesaplanmayacağını belirtir. Ara yol işaretleri içeren istekler için alternatif rota döndürülmez. |
route |
İsteğe bağlı. Rotaların hesaplanma şeklini etkileyen ve yerine getirilecek bir dizi koşul. |
language |
İ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ı başlıklı makaleyi inceleyin. 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, rota isteğinin konumundan belirlenir. |
units |
İsteğe bağlı. Görünen alanlar için ölçü birimlerini belirtir. Buna |
optimize |
optimizeWaypointOrders (doğru) değerine ayarlanırsa, rotanın toplam maliyetini en aza indirmek için belirtilen ara ara noktaları yeniden sıralama girişiminde bulunur. Ara ara noktalardan herhangi biri ara nokta üzerinden ise istek başarısız olur. Yeni sıralamayı bulmak için |
Yanıt gövdesi
Başarılıysa yanıt metni, ComputeRoutesResponse
öğ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ı makaleyi inceleyin.