डिफ़ॉल्ट रूप से, 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 ]