Bir dizi terminal ve ara yol noktası ve rota hedefi verildiğinde, rota hedefi için en iyi rotayı hesaplar. Ayrıca, referans rotalar olarak en hızlı rotayı ve en kısa 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 X-Goog-FieldMask
HTTP/gRPC başlığını 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 bu 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 mesafeleri, süreler, jeton ve ücret bilgilerini içeren alan maskesi:
X-Goog-FieldMask: routes.route.distanceMeters,routes.route.duration,routes.token,routes.route.travelAdvisory.tollInfo
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çmek, sunucumuzun hesaplama döngülerini azaltmasına yardımcı olur. Böylece, sonucu size daha düşük gecikmeli olarak döndürebiliriz.
- Ü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ı 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üşüşle karşılaşabilirsiniz.
- Yalnızca ihtiyacınız olan alanları seçtiğinizde yanıt boyutu küçülür ve böylece daha yüksek ağ işleme hızı elde edilir.
HTTP isteği
POST https://routespreferred.googleapis.com/v1:computeCustomRoutes
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 nokta desteklenir. |
travel |
İsteğe bağlı. Ulaşım modunu belirtir. Yalnızca |
routing |
İ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 bir hata döndürülür. Bu seçeneği yalnızca |
polyline |
İsteğe bağlı. Poli çizginin kalitesiyle 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 gerçekleşmiş bir zamana ayarlarsanız istek başarısız olur. Nanosaniye çözünürlüğüne sahip ve en fazla dokuz kesirli basamak içeren RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: |
route |
İsteğe bağlı. Rotaların hesaplanma şeklini etkileyen ve yerine getirilecek bir dizi koşul. |
route |
Zorunlu. Optimize edilecek bir rota hedefi. |
language |
İ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ı bölümüne bakın. Desteklenen dillerin listesi için Dil desteği bölümüne bakın. Bu değeri sağlamadığınızda ekran dili, rota isteğinin konumundan anlaşılır. |
units |
İsteğe bağlı. Görünen alanlar için ölçü birimlerini belirtir. |
Yanıt gövdesi
Başarılıysa yanıt metni, ComputeCustomRoutesResponse
öğ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.