Bir dizi terminal ve ara ara nokta ve bir rota hedefi ışığında, rota hedefi için en iyi rotayı hesaplar. Ayrıca, referans rota olarak en hızlı rota ve en kısa rotayı 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 mesafelerini, sürelerini, jeton ve ücretli geçiş bilgilerini içeren alan maskesi:
X-Goog-FieldMask: routes.route.distanceMeters,routes.route.duration,routes.token,routes.route.travelAdvisory.tollInfo
Google, joker karakter (*
) yanıt alanı maskesinin kullanılmasını veya alan maskesinin üst düzeyde (routes
) belirtilmesini ö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:computeCustomRoutes
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 |
---|
{ "origin": { object ( |
Alanlar | |
---|---|
origin |
Zorunlu. Başlangıç ara noktası. |
destination |
Zorunlu. Hedef ara nokta. |
intermediates[] |
İsteğe bağlı. Güzergah boyunca, durağı veya yanından geçmek için durak noktaları hariç bir dizi ara nokta. En fazla 25 ara ara nokta desteklenir. |
travelMode |
İsteğe bağlı. Ulaşım şeklini belirtir. Şu anda yalnızca DRIVE desteklenmektedir. |
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 gecikmeye neden olursa 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 |
polylineQuality |
İsteğe bağlı. Çoklu çizginin kalitesi için tercihinizi belirtir. |
polylineEncoding |
İsteğe bağlı. Çoklu çizgi için tercih edilen kodlamayı belirtir. |
departureTime |
İsteğe bağlı. Kalkış saati. Bu değeri ayarlamazsanız bu değer varsayılan olarak, isteği yaptığınız zamana ayarlanır. Bu değeri geçmişte olan 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: |
routeModifiers |
İsteğe bağlı. Rotaların hesaplanma şeklini etkileyen bir dizi koşul. |
routeObjective |
Zorunlu. Optimizasyon yapılacak rota hedefi. |
languageCode |
İsteğe bağlı. BCP-47 dil kodu (ör. "en-US" veya "sr-Latn"). Daha fazla bilgi için http://www.unicode.org/reports/tr35/#Unicode_locale_identifier sayfasına bakın. Desteklenen dillerin listesi için Dil Desteği sayfasına 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üntülenen 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ı makaleye bakın.