टर्मिनल और इंटरमीडिएट वेपॉइंट के सेट और रूट का मकसद दिए जाने पर, रूट के मकसद के लिए सबसे अच्छे रूट की गिनती करता है. सबसे तेज़ और सबसे छोटे रास्ते को रेफ़रंस के तौर पर भी दिखाता है.
ध्यान दें: इस तरीके का इस्तेमाल करने के लिए, आपको इनपुट में रिस्पॉन्स फ़ील्ड मास्क तय करना होगा. यूआरएल पैरामीटर $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/v1alpha:computeCustomRoutes
यूआरएल, gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में इस तरह का डेटा शामिल होता है:
जेएसओएन के काेड में दिखाना |
---|
{ "origin": { object ( |
फ़ील्ड | |
---|---|
origin |
ज़रूरी है. ऑरिजिन वेपॉइंट. |
destination |
ज़रूरी है. मंज़िल की वेपॉइंट. |
intermediates[] |
ज़रूरी नहीं. रास्ते पर वेपॉइंट का एक सेट (टर्मिनल पॉइंट को छोड़कर), जहां से या तो रुकता है या गुज़रता है. ज़्यादा से ज़्यादा 25 इंटरमीडिएट वेपॉइंट इस्तेमाल किए जा सकते हैं. |
travelMode |
ज़रूरी नहीं. परिवहन का साधन बताता है. अब सिर्फ़ Drive इस्तेमाल किया जा सकता है. |
routingPreference |
ज़रूरी नहीं. यह बताता है कि रूट की गणना कैसे की जाए. सर्वर, रूट का पता लगाने के लिए चुनी गई रूटिंग की प्राथमिकता का इस्तेमाल करने की कोशिश करता है. अगर रूटिंग प्राथमिकता की वजह से कोई गड़बड़ी होती है या इंतज़ार का समय ज़्यादा लंबा होता है, तो गड़बड़ी का मैसेज दिखता है. आने वाले समय में, जब पसंदीदा विकल्प सही नतीजा न दे, तो हम किसी दूसरे विकल्प का इस्तेमाल करने के लिए, फ़ॉलबैक तकनीक लागू कर सकते हैं. यह विकल्प सिर्फ़ तब दिया जा सकता है, जब |
polylineQuality |
ज़रूरी नहीं. पॉलीलाइन की क्वालिटी के लिए आपकी पसंद बताता है. |
polylineEncoding |
ज़रूरी नहीं. यह पॉलीलाइन के लिए कोड में बदलने के पसंदीदा तरीके के बारे में बताता है. |
departureTime |
ज़रूरी नहीं. रवानगी का समय. अगर यह वैल्यू सेट नहीं की जाती है, तो यह वैल्यू डिफ़ॉल्ट रूप से आपके अनुरोध किए गए समय से सेट हो जाएगी. अगर इस वैल्यू को ऐसे समय पर सेट किया जाता है जो पहले हो चुका है, तो अनुरोध नहीं हो पाएगा. RFC3339 यूटीसी "ज़ुलु" फ़ॉर्मैट में एक टाइमस्टैंप, जिसमें नैनोसेकंड रिज़ॉल्यूशन और नौ फ़्रैक्शनल अंक तक हो सकते हैं. उदाहरण: |
routeModifiers |
ज़रूरी नहीं. ऐसी शर्तों का सेट जो पूरे किए जाने वाले रास्तों का हिसाब लगाने के तरीके पर असर डालती हैं. |
routeObjective |
ज़रूरी है. रूट का मकसद, जिसके लिए ऑप्टिमाइज़ करना है. |
languageCode |
ज़रूरी नहीं. BCP-47 भाषा कोड, जैसे "en-US" या "sr-Latn". ज़्यादा जानकारी के लिए, http://www.unicode.org/reports/tr35/#Unicode_locale_identifier देखें. इस्तेमाल की जाने वाली भाषाओं की सूची के लिए भाषा से जुड़ी सहायता देखें. अगर यह वैल्यू नहीं दी जाती है, तो डिसप्ले भाषा का अनुमान उस जगह से लगाया जाता है जहां अनुरोध किया गया था. |
units |
ज़रूरी नहीं. डिसप्ले फ़ील्ड की माप की इकाइयां बताता है. इसमें |
जवाब का मुख्य भाग
कामयाब रहने पर, जवाब के मुख्य हिस्से में ComputeCustomRoutesResponse
का एक इंस्टेंस शामिल किया जाता है.
अनुमति पाने के लिंक
नीचे दिए गए OAuth के लिंक की ज़रूरत हाेती है:
https://www.googleapis.com/auth/maps-platform.routespreferred
ज़्यादा जानकारी के लिए, OAuth 2.0 की खास जानकारी देखें.