- एचटीटीपी अनुरोध
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- RouteMatrixOrigin
- RouteMatrixDestination
- ExtraComputation
- RouteMatrixElementCondition
- LocalizedValues
ऑरिजिन और डेस्टिनेशन की सूची लेता है. साथ ही, ऐसी स्ट्रीम दिखाता है जिसमें ऑरिजिन और डेस्टिनेशन के हर कॉम्बिनेशन के लिए रूट की जानकारी होती है.
ध्यान दें: इस तरीके के लिए ज़रूरी है कि आप इनपुट में रिस्पॉन्स फ़ील्ड मास्क दें. यूआरएल पैरामीटर $fields
या fields
या एचटीटीपी/gRPC हेडर X-Goog-FieldMask
का इस्तेमाल करके, रिस्पॉन्स फ़ील्ड मास्क दिया जा सकता है. उपलब्ध यूआरएल पैरामीटर और हेडर देखें. यह वैल्यू, फ़ील्ड पाथ की कॉमा लगाकर अलग की गई सूची होती है. फ़ील्ड पाथ बनाने के तरीके के बारे में ज़्यादा जानकारी वाला यह दस्तावेज़ देखें.
उदाहरण के लिए, इस तरीके में:
- सभी उपलब्ध फ़ील्ड का फ़ील्ड मास्क (मैन्युअल जांच के लिए):
X-Goog-FieldMask: *
- रूट की अवधि, दूरी, एलिमेंट की स्थिति, स्थिति, और एलिमेंट इंडेक्स का फ़ील्ड मास्क (उदाहरण के तौर पर, प्रोडक्शन सेटअप का उदाहरण):
X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration
यह ज़रूरी है कि आप status
को अपने फ़ील्ड मास्क में शामिल करें, क्योंकि ऐसा न करने पर सभी मैसेज ठीक दिखेंगे. Google, वाइल्डकार्ड (*
) रिस्पॉन्स फ़ील्ड मास्क का इस्तेमाल करने से मना करता है, क्योंकि:
- सिर्फ़ अपनी ज़रूरत के फ़ील्ड चुनने पर, हमारे सर्वर को कंप्यूटेशन साइकल सेव करने में मदद मिलती है. इससे हम इंतज़ार के समय को कम करके, आपको नतीजे दिखा पाते हैं.
- प्रोडक्शन जॉब के लिए ज़रूरी फ़ील्ड चुनने से यह पक्का होता है कि इंतज़ार के समय की परफ़ॉर्मेंस बेहतर हो. आने वाले समय में, हम जवाब वाले और फ़ील्ड जोड़ सकते हैं. साथ ही, उन नए फ़ील्ड को कैलकुलेट करने में ज़्यादा समय लग सकता है. अगर सभी फ़ील्ड चुने जाते हैं या टॉप लेवल पर सभी फ़ील्ड चुने जाते हैं, तो परफ़ॉर्मेंस में गिरावट आ सकती है. इसकी वजह यह है कि हम जो भी नया फ़ील्ड जोड़ते हैं वह जवाब में अपने-आप शामिल हो जाता है.
- सिर्फ़ उन फ़ील्ड को चुनने से जिनका रिस्पॉन्स साइज़ छोटा होता है और नेटवर्क की क्षमता में बढ़ोतरी होती है.
एचटीटीपी अनुरोध
POST https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix
यह यूआरएल gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में, इस तरह का डेटा शामिल होता है:
जेएसओएन के काेड में दिखाना |
---|
{ "origins": [ { object ( |
फ़ील्ड | |
---|---|
origins[] |
ज़रूरी है. ऑरिजिन का कलेक्शन, जो रिस्पॉन्स मैट्रिक्स की लाइन तय करता है. ऑरिजिन और डेस्टिनेशन के एलिमेंट पर, साइज़ से जुड़ी कई पाबंदियां लागू होती हैं:
|
destinations[] |
ज़रूरी है. डेस्टिनेशन की वह कैटगरी, जो रिस्पॉन्स मैट्रिक्स के कॉलम तय करती है. |
travelMode |
ज़रूरी नहीं. परिवहन का साधन बताता है. |
routingPreference |
ज़रूरी नहीं. बताता है कि रूट की गणना कैसे की जाए. रूट की गणना करने के लिए सर्वर चुनी गई रूटिंग प्राथमिकता का इस्तेमाल करने की कोशिश करता है. अगर रूटिंग की प्राथमिकता की वजह से कोई गड़बड़ी होती है या इंतज़ार का समय बढ़ जाता है, तो गड़बड़ी दिखती है. इस विकल्प को सिर्फ़ तब तय किया जा सकता है, जब |
departureTime |
ज़रूरी नहीं. रवानगी का समय. अगर यह वैल्यू सेट नहीं की जाती है, तो डिफ़ॉल्ट रूप से यह वैल्यू, अनुरोध किए जाने के समय से मेल खाएगी. ध्यान दें: RFC3339 यूटीसी "ज़ुलु" फ़ॉर्मैट में एक टाइमस्टैंप, जिसमें नैनोसेकंड का रिज़ॉल्यूशन और नौ फ़्रैक्शनल अंक हो सकते हैं. उदाहरण: |
arrivalTime |
ज़रूरी नहीं. पहुंचने का समय. ध्यान दें: इसे सिर्फ़ तब सेट किया जा सकता है, जब RFC3339 यूटीसी "ज़ुलु" फ़ॉर्मैट में एक टाइमस्टैंप, जिसमें नैनोसेकंड का रिज़ॉल्यूशन और नौ फ़्रैक्शनल अंक हो सकते हैं. उदाहरण: |
languageCode |
ज़रूरी नहीं. BCP-47 भाषा कोड, जैसे "en-US" या "sr-Latn". ज़्यादा जानकारी के लिए, यूनिकोड स्थान-भाषा आइडेंटिफ़ायर देखें. इस्तेमाल की जा सकने वाली भाषाओं की सूची के लिए, भाषा की सुविधा देखें. यह वैल्यू न देने पर, डिसप्ले की भाषा का अनुमान उस देश या इलाके के हिसाब से लगाया जाता है जहां से विज्ञापन दिखाया गया है. |
regionCode |
ज़रूरी नहीं. क्षेत्र का कोड, जिसे ccTLD ("टॉप लेवल डोमेन") दो वर्ण की वैल्यू के तौर पर दिखाया जाता है. ज़्यादा जानकारी के लिए, देश कोड टॉप लेवल डोमेन देखें. |
units |
ज़रूरी नहीं. डिसप्ले फ़ील्ड की माप की इकाइयों के बारे में बताता है. |
extraComputations[] |
ज़रूरी नहीं. अतिरिक्त कंप्यूटेशन की एक सूची, जिसका इस्तेमाल अनुरोध को पूरा करने के लिए किया जा सकता है. ध्यान दें: ये अतिरिक्त कंप्यूटेशन, रिस्पॉन्स पर अतिरिक्त फ़ील्ड दिखा सकते हैं. जवाब में दिखाने के लिए, इन अतिरिक्त फ़ील्ड को फ़ील्ड मास्क में भी तय करना होगा. |
trafficModel |
ज़रूरी नहीं. ट्रैफ़िक में समय का हिसाब लगाते समय इस्तेमाल किए जाने वाले अनुमानों को दिखाता है. यह सेटिंग, |
transitPreferences |
ज़रूरी नहीं. उन प्राथमिकताओं के बारे में बताता है जो |
जवाब का मुख्य भाग
इसमें रूट की वह जानकारी होती है जिसे v2.computeRouteMatrix API में ऑरिजिन/डेस्टिनेशन पेयर के लिए कैलकुलेट किया गया होता है. इस प्रोटो को क्लाइंट पर स्ट्रीम किया जा सकता है.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
जेएसओएन के काेड में दिखाना |
---|
{ "status": { object ( |
फ़ील्ड | |
---|---|
status |
इस एलिमेंट के लिए गड़बड़ी का स्टेटस कोड. |
condition |
यह बताता है कि रास्ता मिला या नहीं. स्थिति स्वतंत्र है. |
distanceMeters |
रास्ते की दूरी मीटर में. |
duration |
मार्ग को नेविगेट करने में लगने वाला समय. अगर सेकंड में दी गई अवधि, जिसमें नौ भिन्नांक हो सकते हैं. साथ ही, यह ' |
staticDuration |
ट्रैफ़िक की स्थितियों को ध्यान में रखे बिना रास्ते की यात्रा की अवधि. सेकंड में दी गई अवधि, जिसमें नौ भिन्नांक हो सकते हैं. साथ ही, यह ' |
travelAdvisory |
रास्ते के बारे में ज़्यादा जानकारी. उदाहरण के लिए: पाबंदी और टोल की जानकारी |
fallbackInfo |
कुछ मामलों में, जब सर्वर इस खास ऑरिजिन/डेस्टिनेशन जोड़े के लिए दी गई प्राथमिकताओं के हिसाब से रूट का पता नहीं लगा पाता, तो हो सकता है कि सर्वर कंप्यूटेशन के किसी दूसरे मोड का इस्तेमाल करे. फ़ॉलबैक मोड का इस्तेमाल करने पर, इस फ़ील्ड में फ़ॉलबैक के रिस्पॉन्स के बारे में पूरी जानकारी मौजूद होती है. ऐसा न करने पर, यह फ़ील्ड सेट नहीं होता है. |
localizedValues |
|
originIndex |
अनुरोध में शामिल ऑरिजिन का शून्य पर आधारित इंडेक्स. |
destinationIndex |
अनुरोध में शामिल डेस्टिनेशन का शून्य-आधारित इंडेक्स. |
RouteMatrixOrigin
ComputeRouteMatrixRequest के लिए एक ऑरिजिन
जेएसओएन के काेड में दिखाना |
---|
{ "waypoint": { object ( |
फ़ील्ड | |
---|---|
waypoint |
ज़रूरी है. ऑरिजिन वेपॉइंट |
routeModifiers |
ज़रूरी नहीं. हर उस रूट के लिए मॉडिफ़ायर जो इसे ऑरिजिन के तौर पर ले जाता है |
RouteMatrixDestination
ComputeRouteMatrixRequest के लिए एक डेस्टिनेशन
जेएसओएन के काेड में दिखाना |
---|
{
"waypoint": {
object ( |
फ़ील्ड | |
---|---|
waypoint |
ज़रूरी है. डेस्टिनेशन वेपॉइंट |
ExtraComputation
अनुरोध पूरा करते समय की जाने वाली अतिरिक्त गणना.
Enums | |
---|---|
EXTRA_COMPUTATION_UNSPECIFIED |
इस्तेमाल नहीं किया गया. इस वैल्यू वाले अनुरोध स्वीकार नहीं किए जाएंगे. |
TOLLS |
मैट्रिक्स एलिमेंट के लिए टोल की जानकारी. |
RouteMatrixElementCondition
लौटाए जा रहे रास्ते की स्थिति.
Enums | |
---|---|
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED |
सिर्फ़ तब इस्तेमाल किया जाता है, जब एलिमेंट का status सही न हो. |
ROUTE_EXISTS |
एक रूट मिला और एलिमेंट के लिए उससे जुड़ी जानकारी भरी गई. |
ROUTE_NOT_FOUND |
कोई रास्ता नहीं मिला. रास्ते की जानकारी वाले फ़ील्ड, जैसे कि distanceMeters या duration , एलिमेंट में नहीं भरे जाएंगे. |
LocalizedValues
कुछ प्रॉपर्टी को टेक्स्ट के ज़रिए दिखाएं.
जेएसओएन के काेड में दिखाना |
---|
{ "distance": { object ( |
फ़ील्ड | |
---|---|
distance |
यात्रा की दूरी, टेक्स्ट के रूप में दिखाई गई है. |
duration |
ट्रैफ़िक की स्थितियों को ध्यान में रखते हुए, अवधि को टेक्स्ट फ़ॉर्मैट में दिखाया गया है. ध्यान दें: अगर ट्रैफ़िक की जानकारी के लिए अनुरोध नहीं किया गया है, तो यह वैल्यू staticDuration के जैसी ही होगी. |
staticDuration |
ट्रैफ़िक की स्थितियों पर ध्यान दिए बिना, अवधि को टेक्स्ट रूप में दिखाया गया है. |
transitFare |
बस, मेट्रो वगैरह का किराया टेक्स्ट फ़ॉर्म में दिखाया गया है. |