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

डिफ़ॉल्ट रूप से, 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 फ़ील्ड भरें मास्क:

    आराम

    -H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex

    आरपीसी

    const (fieldMask = "routes.optimizedIntermediateWaypointIndex")

वेपॉइंट ऑर्डर को ऑप्टिमाइज़ करने का तरीका जानें

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

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

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

  3. यह फ़ंक्शन, routes ऑब्जेक्ट में ऑप्टिमाइज़ किया गया वेपॉइंट का क्रम दिखाता है waypoint_order फ़ील्ड, routes.optimizedIntermediateWaypointIndex से कम.

उदाहरण

इस अनुरोध में दक्षिण ऑस्ट्रेलिया के ऐडलेड से जाने वाले रास्ते को ऑप्टिमाइज़ करने के लिए कहा गया है, दक्षिण ऑस्ट्रेलिया के सभी मुख्य वाइन क्षेत्र में जाना और फिर ऐडलेड लौटना.

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'

रूट एपीआई, इसमें दिए गए इंटरमीडिएट वेपॉइंट को इंडेक्स करता है अनुरोध की तारीख 0 से शुरू. उदाहरण के लिए:

0    {"address": "Barossa+Valley,SA"},
1    {"address": "Clare,SA"},
2    {"address": "Connawarra,SA"},
3    {"address": "McLaren+Vale,SA"}

अनुरोध में दिए गए चार वेपॉइंट के लिए इंडेक्स नंबर इस्तेमाल करके, सेवा फिर अनुकूलित आदेश को वापस भेजती है:

"optimizedIntermediateWaypointIndex": [
                3,
                2,
                0,
                1
            ]