डिफ़ॉल्ट रूप से, Routes API का Compute Routes
तरीका, एक से ज़्यादा स्टॉप से होकर गुज़रने वाले रास्ते का हिसाब लगाता है. इन स्टॉप को स्टॉपओवर वेपॉइंट कहा जाता है. ये स्टॉप उसी क्रम में होते हैं जिस क्रम में आपने इन्हें दिया है.
Routes API, दिए गए रास्ते को ऑप्टिमाइज़ कर सकता है. इसके लिए, वह स्टॉप को ज़्यादा बेहतर क्रम में फिर से व्यवस्थित करता है. वेपॉइंट ऑप्टिमाइज़ेशन, यात्रा में लगने वाले समय को ऑप्टिमाइज़ करता है. हालांकि, यह अन्य बातों का भी ध्यान रखता है. जैसे, सबसे सही रास्ता तय करते समय दूरी और मोड़ों की संख्या.
वेपॉइंट को ऑप्टिमाइज़ करने के लिए
पक्का करें कि रूट में मौजूद किसी भी वेपॉइंट के लिए,
via
कोtrue
पर सेट न किया गया हो. उदाहरण के लिए:{"address": "Clare,SA", "via": true}
. रास्ते में पड़ने वाले वेपॉइंट के बारे में ज़्यादा जानने के लिए, रास्ते में पड़ने वाले वेपॉइंट तय करना लेख पढ़ें.पक्का करें कि
routing_preference
,TRAFFIC_AWARE_OPTIMAL
पर सेट न हो.optimize_waypoint_order
कोtrue
पर सेट करें. उदाहरण के लिए:"optimizeWaypointOrder": "true",
फ़ील्ड मास्क में
routes.optimizedIntermediateWaypointIndex
फ़ील्ड तय करें:REST
-H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex
आरपीसी
const (fieldMask = "routes.optimizedIntermediateWaypointIndex")
यह समझना कि वेपॉइंट के क्रम को कैसे ऑप्टिमाइज़ किया जाता है
यहां बताया गया है कि Routes API, किसी रास्ते में वेपॉइंट के क्रम को कैसे ऑप्टिमाइज़ करता है:
यह पैरामीटर, अनुरोध में दिए गए क्रम के आधार पर वेपॉइंट को अपने-आप इंडेक्स करता है. इंडेक्सिंग 0 से शुरू होती है.
यह अनुरोध में दिए गए वेपॉइंट को इंडेक्स नंबर असाइन करता है. इसके बाद, वेपॉइंट के क्रम को ऑप्टिमाइज़ करता है.
यह
routes
ऑब्जेक्ट में, ऑप्टिमाइज़ किए गए वेपॉइंट के क्रम को दिखाता है. यहroutes.optimizedIntermediateWaypointIndex
में मौजूदwaypoint_order
फ़ील्ड में दिखता है.
उदाहरण
इस अनुरोध में, दक्षिण ऑस्ट्रेलिया के एडिलेड से दक्षिण ऑस्ट्रेलिया के मुख्य वाइन क्षेत्रों तक जाने और फिर एडिलेड वापस आने के रास्ते को ऑप्टिमाइज़ करने के लिए कहा गया है.
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": "Coonawarra,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,geocodingResults.intermediates.intermediateWaypointRequestIndex' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
Routes API, अनुरोध में दिए गए इंटरमीडिएट वेपॉइंट को इंडेक्स करता है. इसकी शुरुआत 0 से होती है. उदाहरण के लिए:
0 {"address": "Barossa+Valley,SA"}, 1 {"address": "Clare,SA"}, 2 {"address": "Coonawarrav,SA"}, 3 {"address": "McLaren+Vale,SA"}
अनुरोध में दिए गए चार वेपॉइंट के इंडेक्स नंबर का इस्तेमाल करके, सेवा ऑप्टिमाइज़ किया गया क्रम दिखाती है:
"optimizedIntermediateWaypointIndex": [ 3, 2, 0, 1 ]