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