टर्मिनल और इंटरमीडिएट वेपॉइंट के सेट के आधार पर, वैकल्पिक वैकल्पिक रास्तों के साथ मुख्य रास्ते की जानकारी देता है.
ध्यान दें: इस तरीके के लिए, इनपुट में रिस्पॉन्स फ़ील्ड मास्क तय करना ज़रूरी है. यूआरएल पैरामीटर $fields
या fields
का इस्तेमाल करके या एचटीटीपी/gRPC हेडर X-Goog-FieldMask
का इस्तेमाल करके, रिस्पॉन्स फ़ील्ड मास्क दिया जा सकता है. उपलब्ध यूआरएल पैरामीटर और हेडर देखें. यह वैल्यू, फ़ील्ड पाथ की कॉमा से अलग की गई सूची होती है. फ़ील्ड पाथ बनाने के तरीके के बारे में ज़्यादा जानकारी देने वाला दस्तावेज़ देखें.
उदाहरण के लिए, इस तरीके में:
- सभी उपलब्ध फ़ील्ड का फ़ील्ड मास्क (मैन्युअल जांच के लिए):
X-Goog-FieldMask: *
- रास्ते के लेवल पर यात्रा में लगने वाले समय, दूरी, और पॉलीलाइन का फ़ील्ड मास्क (प्रोडक्शन सेटअप का उदाहरण):
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline
Google, वाइल्डकार्ड (*
) रिस्पॉन्स फ़ील्ड मास्क या टॉप लेवल (routes
) पर फ़ील्ड मास्क तय करने का सुझाव नहीं देता, क्योंकि:
- सिर्फ़ आपकी ज़रूरत वाले फ़ील्ड चुनने से हमारे सर्वर को कंप्यूटेशन साइकल सेव करने में मदद मिलती है. इससे हम कम इंतज़ार के समय के साथ नतीजे आपको दिखा पाते हैं.
- प्रोडक्शन जॉब में सिर्फ़ ज़रूरी फ़ील्ड चुनने से, इंतज़ार का समय कम रहता है. हम आने वाले समय में रिस्पॉन्स फ़ील्ड भी जोड़ सकते हैं. साथ ही, इन नए फ़ील्ड को कैलकुलेट करने में ज़्यादा समय लग सकता है. सभी फ़ील्ड चुनने या टॉप लेवल पर सभी फ़ील्ड चुनने पर, परफ़ॉर्मेंस में गिरावट आ सकती है. इसकी वजह यह है कि अगर कोई नया फ़ील्ड जोड़ा जाता है, तो उसे जवाब में अपने-आप शामिल कर लिया जाता है.
- सिर्फ़ उन फ़ील्ड को चुनने पर रिस्पॉन्स साइज़ छोटा होता है जिनकी आपको ज़रूरत होती है. इसलिए, नेटवर्क थ्रूपुट ज़्यादा होता है.
एचटीटीपी अनुरोध
POST https://routespreferred.googleapis.com/v1:computeRoutes
यूआरएल में gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल किया गया है.
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में, यहां दिए गए स्ट्रक्चर का डेटा शामिल होता है:
JSON के काेड में दिखाना |
---|
{ "origin": { object ( |
फ़ील्ड | |
---|---|
origin |
ज़रूरी है. ऑरिजिन वेपॉइंट. |
destination |
ज़रूरी है. डेस्टिनेशन वेपॉइंट. |
intermediates[] |
ज़रूरी नहीं. रास्ते पर पड़ने वाले पॉइंट का एक सेट (टर्मिनल पॉइंट को छोड़कर), जो किसी जगह पर रुकने या वहां से गुजरने के लिए इस्तेमाल किया जाता है. इंटरमीडिएट में ज़्यादा से ज़्यादा 25 वेपॉइंट डाले जा सकते हैं. |
travel |
ज़रूरी नहीं. परिवहन का साधन बताता है. |
routing |
ज़रूरी नहीं. यह बताता है कि रूट का हिसाब कैसे लगाया जाए. सर्वर, रास्ते का हिसाब लगाने के लिए, चुनी गई रूटिंग प्राथमिकता का इस्तेमाल करने की कोशिश करता है. अगर रूटिंग प्राथमिकता के कारण कोई गड़बड़ी होती है या अतिरिक्त लंबी प्रतीक्षा अवधि होती है, तो एक गड़बड़ी वापस मिलती है. यह विकल्प सिर्फ़ तब तय किया जा सकता है, जब |
polyline |
ज़रूरी नहीं. पॉलीलाइन की क्वालिटी के लिए आपकी प्राथमिकता बताता है. |
polyline |
ज़रूरी नहीं. पॉलीलाइन के लिए पसंदीदा एन्कोडिंग तय करता है. |
departure |
ज़रूरी नहीं. रवानगी का समय. अगर इस वैल्यू को सेट नहीं किया जाता है, तो यह वैल्यू डिफ़ॉल्ट रूप से उस समय पर सेट हो जाती है जब आपने अनुरोध किया था. अगर इस वैल्यू को पहले ही हो चुके समय पर सेट किया जाता है, तो अनुरोध पूरा नहीं होगा. आरएफ़सी3339 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण: |
compute |
ज़रूरी नहीं. तय करता है कि रूट के अलावा वैकल्पिक रास्तों की गणना करनी है या नहीं. इंटरमीडिएट वेपॉइंट वाले अनुरोधों के लिए कोई दूसरा रास्ता नहीं दिखाया जाता. |
route |
ज़रूरी नहीं. शर्तों का एक सेट, जो रास्ते की गणना के तरीके को प्रभावित करती है. |
language |
ज़रूरी नहीं. BCP-47 भाषा कोड, जैसे कि "en-US" या "sr-Latn". ज़्यादा जानकारी के लिए, यूनिकोड लोकल आइडेंटिफ़ायर देखें. इस्तेमाल की जा सकने वाली भाषाओं की सूची के लिए, भाषा की सुविधा पर जाएं. अगर आपने यह वैल्यू नहीं दी है, तो डिसप्ले भाषा का अनुमान, रास्ते के अनुरोध की जगह से लगाया जाता है. |
units |
ज़रूरी नहीं. डिसप्ले फ़ील्ड के लिए माप की इकाइयां बताता है. इसमें |
optimize |
अगर OptimizeWaypointOrder 'सही' पर सेट है, तो रूट की कुल लागत को कम करने के लिए, बताए गए इंटरमीडिएट वेपॉइंट को फिर से क्रम में लगाने की कोशिश की जाती है. अगर रास्ते में कोई भी व्यूपॉइंट, व्यूपॉइंट के ज़रिए है, तो अनुरोध पूरा नहीं हो पाएगा. नई क्रम सेटिंग देखने के लिए, |
जवाब का मुख्य भाग
कामयाब रहने पर, जवाब के मुख्य हिस्से में ComputeRoutesResponse
का एक इंस्टेंस शामिल किया जाता है.
अनुमति के दायरे
नीचे दिए गए OAuth के लिंक की ज़रूरत हाेती है:
https://www.googleapis.com/auth/maps-platform.routespreferred
ज़्यादा जानकारी के लिए, OAuth 2.0 की खास जानकारी देखें.