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

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

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

बस, मेट्रो वगैरह के रूट का मैट्रिक्स पाएं

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

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

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

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

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

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

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

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

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

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

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

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

इस बात की कोई गारंटी नहीं है कि स्ट्रीम से लौटाए गए एलिमेंट, किसी भी फ़ॉर्मैट में दिखाए जाएंगे ऑर्डर. इसलिए, हर रिस्पॉन्स एलिमेंट में एक origin_index और a 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 रिस्पॉन्स, इंडेक्स 1 पर वेपॉइंट से बताए गए रूट से मेल खाता है अनुरोध में origins कलेक्शन.

[
    {
        "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 उस पेज पर उदाहरण के तौर पर, Compute Routes और रूट मैट्रिक्स देखें.