Varsayılan olarak, Routes kitaplığının computeRoutes yöntemi, sağladığınız sırayla, mola noktası olarak adlandırılan birden fazla durak üzerinden bir rota hesaplar.
Routes API, durakları daha verimli bir sıraya göre yeniden düzenleyerek sağlanan rotayı optimize edebilir. Ara nokta optimizasyonu, seyahat süresini optimize eder ancak en verimli rotaya karar verirken mesafe ve dönüş sayısı gibi diğer faktörleri de göz önünde bulundurur.
Ara noktaları optimize etmek için
- Rottaki hiçbir ara noktanın
viadeğerinintrueolarak ayarlanmadığından emin olun. routingPreferencedeğerininTRAFFIC_AWARE_OPTIMALolarak ayarlanmadığından emin olun.optimizeWaypointOrderdeğerinitrueolarak ayarlayın.- Alan maskesinde
optimizedIntermediateWaypointIndicesalanını belirtin.
Ara nokta sırasının nasıl optimize edildiğini anlama
Routes API, bir rotadaki ara noktaların sırasını şu şekilde optimize eder:
- İsteğe göre, 0'dan başlayarak sağladığınız sıraya göre ara noktaları otomatik olarak indeksler.
- İstekteki ara noktalara atadığı dizin numaralarını kullanarak ara noktaların sırasını optimize eder.
- Yanıtın
optimizedIntermediateWaypointIndicesbölümünde, optimize edilmiş yol noktası sırasını döndürür.
Örnek istek
Aşağıdaki örnekte, Güney Avustralya'nın Adelaide şehrinden Güney Avustralya'daki başlıca şarap bölgelerinin her birine giden ve ardından Adelaide'e dönen bir rotada nasıl optimize edilmiş ara noktalar isteneceği gösterilmektedir.
const request = { origin: 'Adelaide, SA', destination: 'Adelaide, SA', intermediates: [ {location: "Barossa+Valley,SA"}, {location: "Clare,SA"}, {location: "Coonawarra,SA"}, {location: "McLaren+Vale,SA"}, ], travelMode: 'DRIVING', optimizeWaypointOrder: true, fields: ['path','optimizedIntermediateWaypointIndices'], };
Örnek yanıt
YanıttaoptimizedIntermediateWaypointIndices yer alıyor.
Response: [ { "optimizedIntermediateWaypointIndices": [ 3, // McLaren+Vale, SA 2, // Coonawarra, SA 0, // Barossa+Valley, SA 1 // Clare, SA ], ...