एक से ज़्यादा ऑरिजिन और डेस्टिनेशन के लिए, किसी रूट की दूरी और अवधि का हिसाब लगाने के लिए, Routes API का इस्तेमाल करें. इसके लिए, computeRouteMatrix तरीके (REST) या स्ट्रीमिंग ComputeRouteMatrix तरीके (gRPC) को कॉल करें.
ऑरिजिन और डेस्टिनेशन की सूची दिए जाने पर, यह तरीका हर ऑरिजिन से शुरू होकर हर मंज़िल पर खत्म होने वाले रूट की दूरी और अवधि का हिसाब लगाता है.
बस, मेट्रो वगैरह के रूट का मैट्रिक्स देखें
बस, मेट्रो वगैरह के लिए रूट मैट्रिक्स का भी हिसाब लगाया जा सकता है. उदाहरण के लिए, ट्रांज़िट पर रूट मैट्रिक्स पाएं देखें.
अनुरोध की सीमाएं
कंप्यूट रूट मैट्रिक्स के तरीके, पता या प्लेस आईडी और एलिमेंट का इस्तेमाल करके वेपॉइंट के लिए अनुरोध की इन सीमाओं को लागू करते हैं. एलिमेंट, रूट मैट्रिक्स में हर ऑरिजिन और डेस्टिनेशन के बीच के रूट होते हैं. इसलिए, एलिमेंट की संख्या, ऑरिजिन की संख्या और डेस्टिनेशन की संख्या गुना होती है. उदाहरण के लिए, अगर आपके पास 10 ऑरिजिन और 10 डेस्टिनेशन हैं, तो आपके पास 100 एलिमेंट हैं:
उन रूट के लिए एलिमेंट की संख्या 625 से ज़्यादा नहीं हो सकती जो
TRANSIT
रूट नहीं हैं.अगर आपने
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 अनुरोध के उदाहरण पर दिए गए उदाहरण देखें. उस पेज पर मौजूद Java का उदाहरण, कंप्यूट रूट और कंप्यूट रूट मैट्रिक्स, दोनों को कॉल करता है.