Varsayılan olarak Routes API Compute Routes
yönteminde, ara noktalar adı verilen birden fazla durak üzerinden bir rota
sıradan bir süreçtir.
Routes API'nin sağlanan rotayı yeniden düzenleyerek daha verimli bir sıralamaya sahip olur. Ara nokta optimizasyonu seyahat için optimizasyon yapar süre ve dönüş sayısı gibi diğer faktörleri de hesaba katar ve en verimli rotanın hangisi olduğuna karar verir.
Ara noktaları optimize etmek için
Rotadaki ara noktaların hiçbirinde
via
değerinintrue
olarak ayarlandığından emin olun: örnek:{"address": "Clare,SA", "via": true}
. Daha fazla bilgi için ara noktalar için Ara ara noktalar belirtin.routing_preference
öğesininTRAFFIC_AWARE_OPTIMAL
olarak ayarlanmadığından emin olun.optimize_waypoint_order
değerinitrue
olarak ayarlayın. Örneğin:"optimizeWaypointOrder": "true",
Alandaki
routes.optimizedIntermediateWaypointIndex
alanını belirtin. maske:REST
-H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex
TBG
const (fieldMask = "routes.optimizedIntermediateWaypointIndex")
Ara nokta sırasının nasıl optimize edildiğini anlama
Routes API'nin bir rotadaki ara noktaların sırasını nasıl optimize ettiği aşağıda açıklanmıştır:
Sağladığınız sıraya göre ara noktaları otomatik olarak dizine ekler bunları istekte bulunabilirsiniz.
Dizin numaralarını kullanarak ara noktaların sırasını optimize eder istekteki ara noktalara atanır.
routes
nesnesindeki optimize edilmiş ara nokta sırasını döndürür.waypoint_order
alanı,routes.optimizedIntermediateWaypointIndex
altında.
Örnek
Bu istek Adelaide, Güney Avustralya’daki bir rota için optimizasyon istiyor. şaraplarını paylaşmalarını ve Adelaide'a dönmelerini sağlıyor.
curl -X POST -H 'content-type: application/json' -d ' { "origin": { "address": "Adelaide,SA" }, "destination": { "address": "Adelaide,SA" }, "intermediates": [ {"address": "Barossa+Valley,SA"}, {"address": "Clare,SA"}, {"address": "Connawarra,SA"}, {"address": "McLaren+Vale,SA"} ], "travelMode": "DRIVE", "optimizeWaypointOrder": "true" }' \ -H 'Content-Type: application/json' \ -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
Routes API, isteğini girin. Örneğin:
0 {"address": "Barossa+Valley,SA"}, 1 {"address": "Clare,SA"}, 2 {"address": "Connawarra,SA"}, 3 {"address": "McLaren+Vale,SA"}
İstekte sağlanan dört ara nokta için dizin numaralarını kullanarak, hizmeti optimize edilmiş siparişi döndürür:
"optimizedIntermediateWaypointIndex": [ 3, 2, 0, 1 ]