रास्ते के स्टॉप का क्रम ऑप्टिमाइज़ करना

यूरोपियन इकनॉमिक एरिया (ईईए) के डेवलपर

डिफ़ॉल्ट रूप से, Routes API का Compute Routes तरीका, एक से ज़्यादा स्टॉप से होकर गुज़रने वाले रास्ते का हिसाब लगाता है. इन स्टॉप को स्टॉपओवर वेपॉइंट कहा जाता है. ये स्टॉप उसी क्रम में होते हैं जिस क्रम में आपने इन्हें दिया है.

Routes API, दिए गए रास्ते को ऑप्टिमाइज़ कर सकता है. इसके लिए, वह स्टॉप को ज़्यादा बेहतर क्रम में फिर से व्यवस्थित करता है. वेपॉइंट ऑप्टिमाइज़ेशन, यात्रा में लगने वाले समय को ऑप्टिमाइज़ करता है. हालांकि, यह अन्य बातों का भी ध्यान रखता है. जैसे, सबसे सही रास्ता तय करते समय दूरी और मोड़ों की संख्या.

वेपॉइंट को ऑप्टिमाइज़ करने के लिए

  1. पक्का करें कि रूट में मौजूद किसी भी वेपॉइंट के लिए, via को true पर सेट न किया गया हो. उदाहरण के लिए: {"address": "Clare,SA", "via": true}. रास्ते में पड़ने वाले वेपॉइंट के बारे में ज़्यादा जानने के लिए, रास्ते में पड़ने वाले वेपॉइंट तय करना लेख पढ़ें.

  2. पक्का करें कि routing_preference, TRAFFIC_AWARE_OPTIMAL पर सेट न हो.

  3. optimize_waypoint_order को true पर सेट करें. उदाहरण के लिए:

    "optimizeWaypointOrder": "true",
  4. फ़ील्ड मास्क में routes.optimizedIntermediateWaypointIndex फ़ील्ड तय करें:

    REST

    -H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex

    आरपीसी

    const (fieldMask = "routes.optimizedIntermediateWaypointIndex")

यह समझना कि वेपॉइंट के क्रम को कैसे ऑप्टिमाइज़ किया जाता है

यहां बताया गया है कि Routes API, किसी रास्ते में वेपॉइंट के क्रम को कैसे ऑप्टिमाइज़ करता है:

  1. यह पैरामीटर, अनुरोध में दिए गए क्रम के आधार पर वेपॉइंट को अपने-आप इंडेक्स करता है. इंडेक्सिंग 0 से शुरू होती है.

  2. यह अनुरोध में दिए गए वेपॉइंट को इंडेक्स नंबर असाइन करता है. इसके बाद, वेपॉइंट के क्रम को ऑप्टिमाइज़ करता है.

  3. यह 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
            ]