Routes API का इस्तेमाल करके, एक से ज़्यादा शुरुआती और मंज़िल वाली जगहों के लिए, रास्ते की दूरी और अवधि का हिसाब लगाएं. इसके लिए, computeRouteMatrix तरीके (REST) या स्ट्रीमिंग ComputeRouteMatrix तरीके (gRPC) को कॉल करें.
शुरुआत की जगहों और मंज़िलों की सूची दिए जाने पर, यह तरीका हर शुरुआती जगह से शुरू होने वाले और हर मंज़िल पर खत्म होने वाले रास्ते की दूरी और अवधि का हिसाब लगाता है.
ट्रांज़िट रूट मैट्रिक्स पाना
सार्वजनिक परिवहन के लिए भी रूट मैट्रिक्स का हिसाब लगाया जा सकता है. उदाहरण के लिए, बस, मेट्रो वगैरह से यात्रा करने के लिए रूट मैट्रिक्स पाना देखें.
अनुरोध की सीमाएं
Compute Route Matrix के तरीके, पतों या placeID का इस्तेमाल करके वेपॉइंट के लिए अनुरोध की इन सीमाओं को लागू करते हैं. साथ ही, ये सीमाएं एलिमेंट के लिए भी लागू होती हैं. रूट मैट्रिक्स में, हर शुरुआती जगह और मंज़िल के बीच के रास्तों को एलिमेंट कहा जाता है. इसलिए, एलिमेंट की संख्या, शुरुआती जगहों की संख्या को मंज़िलों की संख्या से गुणा करने पर मिलती है. उदाहरण के लिए, अगर आपके पास 10 ऑरिजिन और 10 डेस्टिनेशन हैं, तो आपके पास 100 एलिमेंट हैं:
एलिमेंट की संख्या,
TRANSIT
रूट के अलावा अन्य रूट के लिए 625 से ज़्यादा नहीं हो सकती.अगर आपने
TRANSIT
रूट तय किया है, तो एलिमेंट की संख्या 100 से ज़्यादा नहीं हो सकती.अगर आपने
TRAFFIC_AWARE_OPTIMAL
एट्रिब्यूट की वैल्यू दी है, तो एलिमेंट की संख्या 100 से ज़्यादा नहीं हो सकती.TRAFFIC_AWARE_OPTIMAL
के बारे में ज़्यादा जानकारी के लिए, यह तय करना कि ट्रैफ़िक डेटा को कैसे और कब शामिल करना है लेख पढ़ें.अगर पते या जगह के आईडी का इस्तेमाल करके, ऑरिजिन या डेस्टिनेशन तय किए जाते हैं, तो इस तरीके से ज़्यादा से ज़्यादा 50 ऑरिजिन या डेस्टिनेशन तय किए जा सकते हैं.
जवाब देने से जुड़ी गड़बड़ियां
Compute Route Matrix के तरीकों की एक सुविधा यह है कि गड़बड़ियों को पूरे जवाब या जवाब के अलग-अलग एलिमेंट के लिए दिखाया जा सकता है. उदाहरण के लिए, अगर अनुरोध गलत तरीके से किया गया है (जैसे, इसमें कोई ओरिजन शामिल नहीं है), तो पूरे जवाब में गड़बड़ी होगी.
हालांकि, अगर गड़बड़ी जवाब में मौजूद कुछ एलिमेंट पर लागू होती है (उदाहरण के लिए, ऑरिजिन और डेस्टिनेशन के किसी कॉम्बिनेशन के लिए रूट का हिसाब नहीं लगाया जा सकता), तो गड़बड़ी से प्रभावित होने वाले एलिमेंट ही गड़बड़ी कोड दिखाते हैं.
gRPC स्ट्रीम के नतीजे
ComputeRouteMatrix gRPC तरीके में, ऑरिजिन और डेस्टिनेशन की सूची शामिल होती है. यह ऑरिजिन और डेस्टिनेशन के हर कॉम्बिनेशन के लिए, रास्ते की जानकारी देने वाली स्ट्रीम दिखाता है. नतीजे स्ट्रीम के तौर पर दिखाए जाते हैं. इसलिए, आपको तब तक इंतज़ार नहीं करना पड़ता, जब तक सभी संभावित रूट कॉम्बिनेशन का हिसाब नहीं लगा लिया जाता. इसके बाद, नतीजों को प्रोसेस किया जा सकता है.
स्ट्रीम से मिले एलिमेंट, किसी भी क्रम में मिल सकते हैं. इसलिए, हर रिस्पॉन्स एलिमेंट में origin_index
और destination_index
शामिल होता है. अनुरोध में बताई गई यात्रा शुरू करने की जगहों और मंज़िलों के लिए, किसी एलिमेंट के लिए यात्रा शुरू करने की जगह origins[origin_index]
के बराबर होती है और यात्रा की मंज़िल destinations[destination_index]
के बराबर होती है.
इन ऐरे को ज़ीरो-इंडेक्स किया जाता है. ऑरिजिन और डेस्टिनेशन की सूची के क्रम को सेव करना ज़रूरी है.
Compute a Route Matrix के उदाहरण
रूट मैट्रिक्स का हिसाब लगाने के लिए, एचटीटीपी अनुरोध में 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 का उदाहरण, Compute Routes और Compute Route Matrix, दोनों को कॉल करता है.