रास्ता मैट्रिक्स पाएं

Routes API का इस्तेमाल करके, एक से ज़्यादा ऑरिजिन और डेस्टिनेशन के लिए, किसी रास्ते की दूरी और यात्रा में लगने वाले समय का हिसाब लगाएं. इसके लिए, computeRouteMatrix (REST) या स्ट्रीमिंग ComputeRouteMatrix (gRPC) का इस्तेमाल करें.

ऑरिजिन और डेस्टिनेशन की सूची के आधार पर, इस तरीके से हर ऑरिजिन से शुरू होकर हर डेस्टिनेशन पर खत्म होने वाले रास्ते की दूरी और समय का हिसाब लगाया जाता है.

बस, मेट्रो वगैरह के रास्ते की मैट्रिक्स पाना

सार्वजनिक परिवहन के लिए भी रास्ते का मैट्रिक्स कैलकुलेट किया जा सकता है. उदाहरण के लिए, बस, मेट्रो वगैरह के रास्ते का मैट्रिक पाना देखें.

अनुरोध की सीमाएं

रास्ते का मैट्रिक कैलकुलेट करने के तरीके, पते या प्लेस आईडी का इस्तेमाल करके, वे रास्ते के उन पॉइंट के लिए अनुरोध की ये सीमाएं लागू करते हैं जो एलिमेंट के तौर पर जोड़े गए हैं. एलिमेंट, किसी रूट मैट्रिक्स में हर ऑरिजिन और डेस्टिनेशन के बीच के रास्ते होते हैं. इसलिए, एलिमेंट की संख्या, ऑरिजिन की संख्या गुना डेस्टिनेशन की संख्या होती है. उदाहरण के लिए, अगर आपके पास 10 ऑरिजिन और 10 डेस्टिनेशन हैं, तो आपके पास 100 एलिमेंट होंगे:

  • TRANSIT रूट के अलावा, अन्य रूट के लिए एलिमेंट की संख्या 625 से ज़्यादा नहीं हो सकती.

  • TRANSIT रूट तय करने पर, एलिमेंट की संख्या 100 से ज़्यादा नहीं हो सकती.

  • TRAFFIC_AWARE_OPTIMAL तय करने पर, एलिमेंट की संख्या 100 से ज़्यादा नहीं हो सकती. TRAFFIC_AWARE_OPTIMAL के बारे में ज़्यादा जानकारी के लिए, ट्रैफ़िक डेटा को शामिल करने का तरीका और यह तय करना कि उसे शामिल करना है या नहीं लेख पढ़ें.

  • पते या जगह के आईडी का इस्तेमाल करके ऑरिजिन या डेस्टिनेशन की जानकारी देने पर, इस तरह कुल 50 ऑरिजिन या डेस्टिनेशन की जानकारी दी जा सकती है.

रिस्पॉन्स से जुड़ी गड़बड़ियां

कैलकुलेट रूट मैट्रिक के तरीकों की एक खास बात यह है कि गड़बड़ियां, पूरे जवाब या जवाब के अलग-अलग एलिमेंट के लिए दिखाई जा सकती हैं. उदाहरण के लिए, अगर अनुरोध गलत है, तो पूरे जवाब में गड़बड़ी दिखेगी. उदाहरण के लिए, अगर इसमें कोई ऑरिजिन नहीं है.

हालांकि, अगर कोई गड़बड़ी रिस्पॉन्स में मौजूद एलिमेंट के सबसेट पर लागू होती है (उदाहरण के लिए, ऑरिजिन और डेस्टिनेशन के किसी एक कॉम्बिनेशन के लिए कोई रास्ता कैलकुलेट नहीं किया जा सकता), तो सिर्फ़ उन एलिमेंट के लिए गड़बड़ी कोड दिखता है जिन पर गड़बड़ी का असर पड़ा है.

gRPC स्ट्रीम के नतीजे

ComputeRouteMatrix gRPC का तरीका, ऑरिजिन और डेस्टिनेशन की सूची लेता है. साथ ही, ऑरिजिन और डेस्टिनेशन के हर कॉम्बिनेशन के लिए, रास्ते की जानकारी वाली स्ट्रीम दिखाता है. नतीजे स्ट्रीम के तौर पर दिखाए जाते हैं. इसलिए, नतीजों को प्रोसेस करने से पहले, आपको रास्ते के सभी संभावित कॉम्बिनेशन का हिसाब लगाने तक इंतज़ार नहीं करना पड़ता.

स्ट्रीम से दिखाए गए एलिमेंट के किसी भी क्रम में दिखने की गारंटी नहीं है. इसलिए, हर रिस्पॉन्स एलिमेंट में एक origin_index और एक destination_index होता है. अनुरोध में बताए गए ऑरिजिन और डेस्टिनेशन के लिए, किसी एलिमेंट के लिए रास्ते का ऑरिजिन origins[origin_index] के बराबर होता है और रास्ते का डेस्टिनेशन destinations[destination_index] के बराबर होता है. ये ऐरे, शून्य से इंडेक्स किए जाते हैं. ऑरिजिन और डेस्टिनेशन की सूची के क्रम को सेव करना ज़रूरी है.

रास्ते की मैट्रिक्स का हिसाब लगाने के उदाहरण

रूट मैट्रिक का हिसाब लगाने के लिए, एचटीटीपी अनुरोध में computeRouteMatrix विधि का इस्तेमाल करें.

एचटीटीपी का उदाहरण

नीचे दिए गए उदाहरण में, computeRouteMatrix एचटीटीपी अनुरोध दिखाया गया है. इस उदाहरण में, आपके पास:

  • शुरुआत की जगह और मंज़िल के दो रास्ते में रुकने के लिए जगहों का कलेक्शन दें. इस तरीके से, हर ऑरिजिन से हर डेस्टिनेशन तक के रास्ते का हिसाब लगाया जाता है. इसलिए, जवाब में चार रास्ते होते हैं.

    कलेक्शन में, पहला एलिमेंट इंडेक्स 0 पर होता है, दूसरा इंडेक्स 1 पर, और इसी तरह आगे भी.

  • रिस्पॉन्स फ़ील्ड मास्क शामिल करें, ताकि यह तय किया जा सके कि response (REST) या ComputeRoutesResponse (gRPC) के कौनसे फ़ील्ड दिखाने हैं. इस उदाहरण में, हर रास्ते के लिए originIndex, destinationIndex, duration, distanceMeters, status, और condition दिखाने के लिए अनुरोध को कॉन्फ़िगर करें. ज़्यादा जानकारी के लिए, दिखाए जाने के लिए फ़ील्ड चुनना लेख पढ़ें.

curl -X POST -d '{
  "origins": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420761,
            "longitude": -122.081356
          }
        }
      },
      "routeModifiers": { "avoid_ferries": true}
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.403184,
            "longitude": -122.097371
          }
        }
      },
      "routeModifiers": { "avoid_ferries": true}
    }
  ],
  "destinations": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420999,
            "longitude": -122.086894
          }
        }
      }
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.383047,
            "longitude": -122.044651
          }
        }
      }
    }
  ],
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition' \
'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'

जवाब में, ऑरिजिन और डेस्टिनेशन के सभी वेपॉइंट के कॉम्बिनेशन के लिए, चार संभावित रास्ते शामिल होते हैं.

लेख पढ़ें.

जवाब में मौजूद हर रूट की पहचान करने के लिए, originIndex और destinationIndex जवाब फ़ील्ड का इस्तेमाल करें. उदाहरण के लिए, रिस्पॉन्स में 1 का originIndex, अनुरोध में origins ऐरे के इंडेक्स 1 पर मौजूद वेपन पॉइंट से कैलकुलेट किए गए रास्ते से जुड़ा होता है.

[
    {
        "originIndex": 0,
        "destinationIndex": 0,
        "status": {},
        "distanceMeters": 822,
        "duration": "160s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 1,
        "destinationIndex": 0,
        "status": {},
        "distanceMeters": 2919,
        "duration": "361s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 1,
        "destinationIndex": 1,
        "status": {},
        "distanceMeters": 5598,
        "duration": "402s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 0,
        "destinationIndex": 1,
        "status": {},
        "distanceMeters": 7259,
        "duration": "712s",
        "condition": "ROUTE_EXISTS"
    }
]

gRPC के उदाहरण

उदाहरण के लिए, gRPC अनुरोधों के लिए, gRPC अनुरोध का उदाहरण पर दिए गए उदाहरण देखें. उस पेज पर मौजूद Java उदाहरण, कैलकुलेट रूट और कैलकुलेट रूट मैट्रिक, दोनों को कॉल करता है.