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

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

यात्रा शुरू करने की जगह और मंज़िलों की सूची दिए जाने पर यह तरीका, किसी रास्ते की दूरी और कुल समय का हिसाब लगाता है. यह तरीका हर मंज़िल से शुरू होकर हर मंज़िल पर खत्म होता है.

ट्रांज़िट रूट का मैट्रिक्स हासिल करने का तरीका

आप ट्रांज़िट के दौरान भी रूट मैट्रिक्स की गणना कर सकते हैं. उदाहरण के लिए, ट्रांज़िट पर रूट मैट्रिक्स पाएं देखें.

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

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

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

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

  • अगर आपने TRAFFIC_AWARE_OPTIMAL बताया है, तो एलिमेंट की संख्या 100 से ज़्यादा नहीं हो सकती. TRAFFIC_AWARE_OPTIMAL के बारे में ज़्यादा जानकारी के लिए, क्वालिटी के मुकाबले इंतज़ार के समय को कॉन्फ़िगर करना देखें.

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

जवाब से जुड़ी गड़बड़ियां

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

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

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

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

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

रूट मैट्रिक्स के उदाहरणों की गिनती करें

रूट मैट्रिक्स को कंप्यूट करने के लिए, एचटीटीपी अनुरोध में ComputeRouteMatrix तरीके का इस्तेमाल करें.

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

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

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

    इस ऐरे में पहला एलिमेंट, इंडेक्स 0 पर होता है और दूसरा एलिमेंट, इंडेक्स 1 पर होता है. इसी तरह बाकी के इंडेक्स पर भी दूसरा एलिमेंट मौजूद होता है.

  • रिस्पॉन्स फ़ील्ड मास्क शामिल करें, ताकि यह बताया जा सके कि रिस्पॉन्स (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 अनुरोध के उदाहरण पर दिए गए उदाहरण देखें. उस पेज पर दिख रहे Java के उदाहरण में, कंप्यूट रूट और कंप्यूट रूट मैट्रिक्स, दोनों को शामिल किया गया है.