Seçtiğiniz trafik tercihleri, rota ayrıntılarının doğruluğu ile istek performansını iki şekilde dengeler:
- Trafiğe duyarlı: Mümkün olan en doğru sonuçları döndürür (daha yüksek gecikme).
- Trafik durumu bilinmiyor: Sonuçları mümkün olduğunca hızlı (en düşük gecikme süresiyle) döndürün.
İstek gönderdiğinizde, mümkün olduğunca doğru sonuçlar mı yoksa mümkün olduğunca hızlı sonuçlar mı döndürmenin daha iyi olacağını değerlendirin. Routes kitaplığı, yanıt verilerinin kalitesini yanıtın gecikme süresine göre kontrol etmenizi sağlayan seçenekler sunar.
Trafik seviyesini ve trafik modelini ayarlama
Trafik düzeyini belirtmek için ComputeRoutesRequest üzerinde routingPreference değerini ayarlayın. Aşağıdaki listede mevcut routingPreference seçenekleri gösterilmektedir:
TRAFFIC_UNAWARE(varsayılan): Yaklaşık rota ayrıntılarıyla en hızlı sonuçları döndürür.TRAFFIC_AWARE: Anlık trafik verilerini kullanarak daha doğru sonuçlar döndürür ancak gecikme süresi daha uzundur.TRAFFIC_AWARE_OPTIMAL: Gerçek zamanlı trafik verilerini kullanarak mümkün olan en doğru sonuçları döndürür ancak en yüksek gecikmeye sahiptir.
TRAFFIC_MODEL
özelliği, trafikteki süreyi tahmin ederken kullanılacak varsayımları temsil eder (
TrafficModel.BEST_GUESS (varsayılan),
TrafficModel.OPTIMISTIC,
TrafficModel.PESSIMISTIC).
Trafiğe duyarlı yönlendirmeyi seçme
Trafiğe duyarlı bir rota isteği oluşturmak için aşağıdaki adımları uygulayın:
-
travelModeözelliğiniDRIVINGolarak ayarlayın. -
routingPreferenceözelliğini aşağıdakilerden birine ayarlayın:TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL
NOT:
TRAFFIC_UNAWAREvarsayılan ayardır. -
trafficModelözelliğini aşağıdakilerden birine ayarlayın: -
extraComputationsözelliğiniTRAFFIC_ON_POLYLINEolarak ayarlayın. -
path,speedPathsverouteLabelsalanlarını isteyin.
Aşağıdaki örnek istekte, çoklu çizgi üzerinde trafik verilerini gösteren, trafik durumuna göre rota isteğinde bulunma yöntemi gösterilmektedir:
// Define a traffic aware routes request with polylines. const requestWithTraffic = { origin: '200 King St San Francisco, CA 94107', destination: 'Pier 41, San Francisco, CA 94133', travelMode: 'DRIVING', routingPreference: 'TRAFFIC_AWARE_OPTIMAL', trafficModel: 'optimistic', extraComputations: ['TRAFFIC_ON_POLYLINE'], fields: ['speedPaths'], };
Trafik koşulları
Trafik koşulları, trafik akışının hızını gösterir:
- Normal trafik: Trafiğin normal hızda aktığı ve tıkanıklığın olmadığı durum.
- Hafif ila orta şiddette trafik: Trafik akışının daha düşük bir hızda gerçekleştiği, artan yoğunluk.
- Yoğun trafik: Trafik hızının ciddi şekilde düştüğü, çok sıkışık trafik.
Trafiğe duyarsız
TRAFFIC_UNAWARE varsayılan ayardır. Yanıtların en hızlı şekilde döndürülmesini istediğinizde ve yaklaşık yönlendirme ayrıntıları yeterli olduğunda bu yönlendirme tercihini kullanın.
TRAFFIC_UNAWARE rotaları, mevcut trafik koşulları dikkate alınmadan hesaplanır. Bu yönlendirme tercihi, en hızlı istek yanıtını (en düşük gecikme) sağlar.
TRAFFIC_UNAWARE seçeneğini belirlerseniz seçilen rota ve süre, mevcut yol koşullarına değil, yol ağına ve ortalama zamandan bağımsız trafik koşullarına göre belirlenir.
Bu nedenle, rotalarda geçici olarak kapalı olan yollar yer alabilir. Belirli bir isteğin sonuçları, yol ağındaki değişiklikler, güncellenen ortalama trafik koşulları ve hizmetin dağıtılmış yapısı nedeniyle zaman içinde değişebilir. Sonuçlar, neredeyse eşdeğer rotalar arasında da herhangi bir zamanda veya sıklıkta değişiklik gösterebilir.
Göreceğiniz yanıtlar şunlardır:
duration: Rotanın tahmini varış süresini içerir.staticDuration: Yalnızca geçmiş trafik bilgileri dikkate alınarak rotanın tahmini varış süresi.TRAFFIC_UNAWAREiçin bu,durationile aynı değeri içerir.
Trafiğe duyarlı
TRAFFIC_UNAWARE'dan daha doğru rota ayrıntıları istediğiniz ancak yanıtların orta düzeyde gecikmeyle döndürülmesini sorun etmediğiniz durumlarda bu yönlendirme tercihini kullanın.
TRAFFIC_AWARE yönlendirme tercihini ayarladığınızda hizmet, mevcut trafik koşullarını dikkate alarak rotayı hesaplar. Bu sayede rota ve rota ayrıntıları, gerçek dünya koşullarını daha doğru yansıtır. Veri kalitesindeki bu artış yanıt gecikmesi pahasına gerçekleştiğinden, gecikmenin büyük bir kısmını azaltmak için performans optimizasyonları uygulanır.
Göreceğiniz yanıtlar şunlardır:
duration: Gerçek zamanlı trafik bilgileri dikkate alınarak hesaplanan tahmini varış süresi.staticDuration: Yalnızca geçmiş trafik bilgileri dikkate alınarak rotanın tahmini varış süresi.
Trafiğe duyarlı en uygun rota
Yanıtların ne kadar süreceğine bakılmaksızın en yüksek kaliteli sonuçları istediğinizde bu yönlendirme tercihini kullanın. Bu yönlendirme tercihi, yanıtların döndürülmesinde en uzun gecikmeye (en yüksek gecikme süresi) sahiptir.
TRAFFIC_AWARE_OPTIMAL yönlendirme tercihini ayarladığınızda hizmet, rotayı mevcut trafik koşullarını dikkate alarak hesaplar ancak performans optimizasyonlarını uygulamaz. Bu modda sunucu, en uygun rotayı bulmak için yol ağında daha kapsamlı bir arama yapar.
TRAFFIC_AWARE_OPTIMAL rota tercihi, maps.google.com ve Google Haritalar mobil uygulamasının kullandığı moda eşdeğerdir.
Bu seçeneği computeRouteMatrix ile kullandığınızda bir istekteki öğe sayısı (kaynak sayısı × hedef sayısı) 25'i aşamaz.
Göreceğiniz yanıtlar şunlardır:
duration: Gerçek zamanlı trafik bilgileri dikkate alınarak rotanın tahmini varış süresi.staticDuration: Yalnızca geçmiş trafik bilgileri dikkate alınarak rotanın tahmini varış süresi.
Kalkış saatini ayarlayın (isteğe bağlı)
Bu özelliği yalnızca kalkış zamanının gelecekte olması gereken, trafik bilgisi içeren istekler için kullanın. departureTime özelliğini ayarlamazsanız varsayılan olarak isteği gönderdiğiniz zaman kullanılır.
Hizmetin bir rota seçerken trafiği tahmin etme şeklini ayarlamak istediğinizde departureTime özelliğini TRAFFIC_AWARE ve TRAFFIC_AWARE_OPTIMAL seçenekleriyle birlikte kullanın.
TRAFFIC_UNAWARE: Rota ve süre seçimi yol ağına ve ortalama zamandan bağımsız trafik koşullarına göre yapıldığından önerilmez.TRAFFIC_AWAREveTRAFFIC_AWARE_OPTIMAL: Bu tercihler anlık trafik koşullarını dikkate aldığından yakın gelecekteki kalkışlar için önerilir. Canlı trafik,departureTimeşu ana ne kadar yakın olursa o kadar önemli ve alakalı hale gelir. Kalkış saatini ne kadar ileri bir tarihe ayarlarsanız rota seçiminde geçmiş trafik koşulları o kadar fazla dikkate alınır.
Rota jetonu alma
Rota jetonları, rotanın web güvenli, base64 kodlu bir gösterimidir. Bir rotayı Navigation SDK ile paylaşmak için rota jetonu kullanın. SDK, rotayı yeniden oluşturmak ve yeniden yönlendirme sırasında bile orijinal gezinme amacını korumak için bu jetonu kullanır.
Rota jetonu almak için aşağıdaki adımları uygulayın:
- travelMode'u
DRIVINGolarak ayarlayın. routingPreferencedeğeriniTRAFFIC_AWAREveyaTRAFFIC_AWARE_OPTIMALolarak ayarlayın.routeTokenalanını isteyin.
Aşağıdaki örnek istekte, rota jetonunun nasıl isteneceği gösterilmektedir:
// Define a traffic aware routes request with a route token. const requestWithRouteToken = { origin: '200 King St San Francisco, CA 94107', destination: 'Pier 41, San Francisco, CA 94133', travelMode: 'DRIVING', routingPreference: 'TRAFFIC_AWARE', fields: ['path', 'speedPaths', 'routeLabels', 'routeToken'], };