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