जब Routes API किसी रास्ते का हिसाब लगाता है, तो वह इनपुट के तौर पर आपके दिए गए वे पॉइंट और कॉन्फ़िगरेशन पैरामीटर लेता है. इसके बाद, एपीआई एक रिस्पॉन्स दिखाता है, जिसमें डिफ़ॉल्ट रूट और एक या एक से ज़्यादा वैकल्पिक रूट शामिल होते हैं.
आपके अनुरोध किए गए फ़ील्ड के आधार पर, आपके जवाब में अलग-अलग तरह के रास्ते और अन्य डेटा शामिल हो सकते हैं:
जवाब में इसे शामिल करने के लिए | यह दस्तावेज़ देखें |
---|---|
वाहन के इंजन टाइप के हिसाब से, ईंधन या ऊर्जा की सबसे कम खपत वाला रास्ता. | पर्यावरण को नुकसान न पहुंचाने वाले रास्ते कॉन्फ़िगर करना |
ज़्यादा से ज़्यादा तीन वैकल्पिक रास्ते | दूसरे रास्तों का अनुरोध करना |
पूरे रास्ते, रास्ते के हर चरण, और चरण के हर चरण के लिए पॉलीलाइन. | रास्ते की पॉलीलाइन का अनुरोध करना |
टोल की अनुमानित कीमत. इसमें, ड्राइवर या वाहन के लिए उपलब्ध टोल की कीमत पर मिलने वाली छूट या पास को ध्यान में रखा जाता है. | टोल शुल्क का हिसाब लगाना |
भाषा कोड और मेज़रमेंट यूनिट (इंपीरियल या मेट्रिक) के हिसाब से स्थानीय भाषा में दिए गए जवाब. | स्थानीय भाषा के हिसाब से वैल्यू का अनुरोध करना |
नेविगेशन के निर्देशों को एचटीएमएल टेक्स्ट स्ट्रिंग के तौर पर फ़ॉर्मैट करने के लिए, HTML_FORMATTED_NAVIGATION_INSTRUCTIONS को
extraComputations में जोड़ें. |
ज़्यादा कैलकुलेशन |
इनपुट के विकल्पों की पूरी सूची के लिए, रास्ते के उपलब्ध विकल्प और अनुरोध का मुख्य हिस्सा देखें.
जवाब का इस्तेमाल करके, अपने ग्राहकों को उनकी ज़रूरतों के हिसाब से सही तरीका चुनने के लिए ज़रूरी जानकारी दी जा सकती है.
फ़ील्ड मास्क के बारे में जानकारी
किसी रूट का हिसाब लगाने के लिए कोई तरीका इस्तेमाल करते समय, आपको एक फ़ील्ड मास्क तय करना होगा. इससे यह तय होता है कि आपको रिस्पॉन्स में कौनसे फ़ील्ड चाहिए. दिखाए गए फ़ील्ड की कोई डिफ़ॉल्ट सूची नहीं होती. इस सूची को शामिल न करने पर, मेथड गड़बड़ी का मैसेज दिखाते हैं.
इस दस्तावेज़ में दिए गए उदाहरणों में, फ़ील्ड मास्क को ध्यान में रखे बिना पूरा रिस्पॉन्स ऑब्जेक्ट दिखाया गया है. प्रोडक्शन एनवायरमेंट में, आपके रिस्पॉन्स में सिर्फ़ वे फ़ील्ड शामिल होंगे जिन्हें आपने फ़ील्ड मास्क में साफ़ तौर पर बताया है.
ज़्यादा जानकारी के लिए, चुनें कि कौनसी जानकारी दिखानी है लेख पढ़ें.
कॉपीराइट दिखाने के बारे में जानकारी
उपयोगकर्ताओं को नतीजे दिखाते समय, आपको कॉपीराइट का यह स्टेटमेंट शामिल करना होगा:
Powered by Google, ©YEAR Google
उदाहरण के लिए:
Powered by Google, ©2023 Google
रास्तों, लेग, और चरणों के बारे में जानकारी
Routes API से मिले रिस्पॉन्स को देखने से पहले, आपको उन कॉम्पोनेंट के बारे में जानकारी होनी चाहिए जिनसे कोई रूट बनता है:
आपके जवाब में, रास्ते के इन हर कॉम्पोनेंट के बारे में जानकारी हो सकती है:
रास्ता: ऑरिजिन वेपॉइंट से, किसी भी इंटरमीडिएट वेपॉइंट के ज़रिए, डेस्टिनेशन वेपॉइंट तक की पूरी यात्रा. किसी रास्ते में एक या उससे ज़्यादा लेग होते हैं.
पैर: रास्ते के एक वॉयपॉइंट से अगले वॉयपॉइंट तक का रास्ता. हर चरण में एक या उससे ज़्यादा अलग-अलग चरण होते हैं.
किसी रूट में, हर वेपॉइंट से अगले वेपॉइंट तक के रास्ते के लिए एक अलग लेग होता है. उदाहरण के लिए, अगर रास्ते में एक ऑरिजिन और एक डेस्टिनेशन वॉइसपॉइंट है, तो रास्ते में एक लेग है. ऑरिजिन और डेस्टिनेशन के बाद, रास्ते में जोड़े गए हर अतिरिक्त वेपॉइंट के लिए, एपीआई एक अलग लेग जोड़ता है. इसे इंटरमीडिएट वेपॉइंट कहा जाता है.
एपीआई, बीच में मौजूद पास-थ्रू वेपॉइंट के लिए कोई लेग नहीं जोड़ता. उदाहरण के लिए, किसी रास्ते में ऑरिजिन वॉयपॉइंट, पास-थ्रू इंटरमीडिएट वॉयपॉइंट, और डेस्टिनेशन वॉयपॉइंट शामिल है. इसमें ऑरिजिन से डेस्टिनेशन तक सिर्फ़ एक लेग है, जो वॉयपॉइंट से होकर गुज़रता है. पास-थ्रू व्यूपॉइंट के बारे में ज़्यादा जानकारी के लिए, पास-थ्रू व्यूपॉइंट तय करना लेख पढ़ें.
चरण: किसी रास्ते के हिस्से के लिए एक निर्देश. चरण, किसी रास्ते की सबसे छोटी इकाई होती है. उदाहरण के लिए, किसी चरण में "Main Street पर बाईं ओर मुड़ें'' लिखा हो सकता है.
जवाब में क्या शामिल है
एपीआई के जवाब को दिखाने वाले JSON ऑब्जेक्ट में ये टॉप-लेवल प्रॉपर्टी शामिल होती हैं:
routes
, रास्ते टाइप के एलिमेंट का कलेक्शन.routes
कलेक्शन में, एपीआई से मिले हर रूट के लिए एक एलिमेंट होता है. ऐरे में ज़्यादा से ज़्यादा पांच एलिमेंट हो सकते हैं: डिफ़ॉल्ट रास्ता, पर्यावरण के लिहाज़ से सही रास्ता, और ज़्यादा से ज़्यादा तीन अन्य रास्ते.geocodingResults
, GeocodingResults टाइप के एलिमेंट का कलेक्शन. अनुरोध में बताई गई हर जगह (ऑरिजिन, डेस्टिनेशन या इंटरमीडिएट वॉइपॉइंट) के लिए, एपीआई प्लेस आईडी लुकअप करता है. जगह की जानकारी को पते की स्ट्रिंग या प्लस कोड के तौर पर दिया जाता है. इस कलेक्शन के हर एलिमेंट में, किसी जगह से जुड़ा प्लेस आईडी होता है. अनुरोध में बताई गई जगहों को जगह का आईडी या अक्षांश/देशांतर के निर्देशांक के तौर पर शामिल नहीं किया जाता. अगर आपने जगह के आईडी या अक्षांश और देशांतर के निर्देशांक का इस्तेमाल करके सभी जगहों की जानकारी दी है, तो यह कलेक्शन नहीं दिया जाता.fallbackInfo
, जिसका टाइप FallbackInfo है. अगर एपीआई सभी इनपुट प्रॉपर्टी से किसी रूट का हिसाब नहीं लगा पा रहा है, तो हो सकता है कि वह हिसाब लगाने के लिए किसी दूसरे तरीके का इस्तेमाल करे. फ़ॉलबैक मोड का इस्तेमाल करने पर, इस फ़ील्ड में फ़ॉलबैक रिस्पॉन्स के बारे में पूरी जानकारी होती है. अगर ऐसा नहीं है, तो यह फ़ील्ड सेट नहीं किया जाता.
जवाब का फ़ॉर्मैट यह है:
{ // The routes array. "routes": [ { object (Route) } ], // The place ID lookup results. "geocodingResults": [ { object (GeocodedWaypoint) } ], // The fallback property. "fallbackInfo": { object (FallbackInfo) } }
रास्तों के कलेक्शन को समझना
जवाब में routes
कलेक्शन शामिल होता है. इसमें मौजूद हर कलेक्शन एलिमेंट का टाइप Route होता है.
ऐरे का हर एलिमेंट, ऑरिजिन से डेस्टिनेशन तक के पूरे रास्ते की जानकारी देता है. एपीआई हमेशा कम से कम एक रूट दिखाता है, जिसे डिफ़ॉल्ट रूट कहा जाता है.
आपके पास अन्य रास्तों का अनुरोध करने का विकल्प है. अगर आपने ईको-फ़्रेंडली रास्ते का अनुरोध किया है, तो ऐरे में दो एलिमेंट हो सकते हैं: डिफ़ॉल्ट रास्ता और ईको-फ़्रेंडली रास्ता. इसके अलावा, जवाब में तीन वैकल्पिक रास्ते जोड़ने के लिए, अनुरोध में computeAlternativeRoutes
को true
पर सेट करें.
कलेक्शन में मौजूद हर रूट की पहचान, routeLabels
कलेक्शन प्रॉपर्टी से की जाती है:
मान | ब्यौरा |
---|---|
DEFAULT_ROUTE |
डिफ़ॉल्ट रूट की पहचान करता है. |
FUEL_EFFICIENT |
ईको-फ़्रेंडली रास्ते की पहचान करता है. |
DEFAULT_ROUTE_ALTERNATE |
I, किसी दूसरे रास्ते की जानकारी देता है. |
legs
कलेक्शन में, रूट के हर चरण की जानकारी होती है. बाकी बची प्रॉपर्टी, जैसे कि distanceMeters
, duration
, और polyline,
में पूरे रास्ते की जानकारी होती है:
{ "routeLabels": [ enum (RouteLabel) ], "legs": [ { object (RouteLeg) } ], "distanceMeters": integer, "duration": string, "routeLabels": [string], "staticDuration": string, "polyline": { object (Polyline) }, "description": string, "warnings": [ string ], "viewport": { object (Viewport) }, "travelAdvisory": { object (RouteTravelAdvisory) } "routeToken": string }
ड्राइविंग की मौजूदा स्थितियों और अन्य वजहों से, डिफ़ॉल्ट रास्ता और ईको-फ़्रेंडली रास्ता एक ही हो सकता है. इस मामले में, routeLabels
कलेक्शन में दोनों लेबल शामिल हैं: DEFAULT_ROUTE
और FUEL_EFFICIENT
.
{ "routes": [ { "routeLabels": [ "DEFAULT_ROUTE", "FUEL_EFFICIENT" ], … } ] }
लेग कलेक्शन को समझना
जवाब में मौजूद हर route
में एक legs
कलेक्शन होता है. इसमें मौजूद हर legs
कलेक्शन एलिमेंट, RouteLeg टाइप का होता है.
कलेक्शन में मौजूद हर लेग, रूट पर एक वॉयपॉइंट से अगले वॉयपॉइंट तक का पाथ तय करता है. किसी रास्ते में हमेशा कम से कम एक लेग होता है.
legs
प्रॉपर्टी में, steps
कलेक्शन में पैर के हर चरण की परिभाषा होती है. बाकी प्रॉपर्टी, जैसे कि distanceMeters
, duration
, और polyline
में लेग के बारे में जानकारी होती है.
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "steps": [ { object (RouteLegStep) } ], "travelAdvisory": { object (RouteLegTravelAdvisory) } }
चरणों के कलेक्शन को समझना
रिस्पॉन्स में मौजूद हर लेग में एक steps
कलेक्शन होता है. इसमें मौजूद हर steps
कलेक्शन एलिमेंट, RouteLegStep टाइप का होता है.
एक चरण, पैर के किसी एक निर्देश से जुड़ा होता है. किसी लेग में हमेशा कम से कम एक चरण होता है.
steps
कलेक्शन के हर एलिमेंट में, NavigationInstruction टाइप की navigationInstruction
प्रॉपर्टी शामिल होती है. इसमें चरण का निर्देश होता है. उदाहरण के लिए:
"navigationInstruction": { "maneuver": "TURN_LEFT", "instructions": "Turn left toward Frontage Rd" }
instructions
में, चरण के बारे में ज़्यादा जानकारी हो सकती है. उदाहरण के लिए:
"navigationInstruction": { "maneuver": "TURN_SLIGHT_LEFT", "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days" }
चरण में मौजूद बाकी प्रॉपर्टी, चरण के बारे में जानकारी देती हैं. जैसे, distanceMeters
, duration
, और polyline
:
{ "distanceMeters": integer, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "navigationInstruction": { object (NavigationInstruction) } }
चरणों के निर्देशों की भाषा तय करना
एपीआई, रास्ते की जानकारी स्थानीय भाषा में दिखाता है. अगर ज़रूरी हो, तो उपयोगकर्ता के लिए पढ़ने लायक स्क्रिप्ट में बदल दिया जाता है. ऐसा, उपयोगकर्ता की पसंदीदा भाषा के हिसाब से किया जाता है. पते के सभी कॉम्पोनेंट एक ही भाषा में दिखाए जाते हैं.
इस्तेमाल की जा सकने वाली भाषाओं की सूची में से, रूट की भाषा को साफ़ तौर पर सेट करने के लिए, अनुरोध के
languageCode
पैरामीटर का इस्तेमाल करें. Google, काम करने वाली भाषाओं की सूची को समय-समय पर अपडेट करता रहता है. इसलिए, हो सकता है कि इस सूची में सभी भाषाएं शामिल न हों.अगर कोई नाम बताई गई भाषा में उपलब्ध नहीं है, तो एपीआई सबसे मिलते-जुलते नाम का इस्तेमाल करता है.
चुनी गई भाषा से, उन नतीजों के सेट पर असर पड़ सकता है जिन्हें एपीआई दिखाता है. साथ ही, यह भी तय हो सकता है कि वे नतीजे किस क्रम में दिखाए जाएं. जियोकोडर, भाषा के हिसाब से छोटा किया गया नाम अलग-अलग तरीके से समझता है. जैसे, सड़क के टाइप के लिए छोटा किया गया नाम या ऐसे समानार्थी शब्द जो एक भाषा में मान्य हो सकते हैं, लेकिन दूसरी भाषा में नहीं. उदाहरण के लिए, हंगरी में सड़क के लिए utca और tér, दोनों शब्द इस्तेमाल किए जाते हैं.
geocodingResults कलेक्शन को समझना
अनुरोध में बताई गई हर जगह (ऑरिजिन, डेस्टिनेशन या इंटरमीडिएट व्यूपॉइंट) के लिए, एपीआई सबसे काम की जगह ढूंढने की कोशिश करता है. यह जगह, पते की स्ट्रिंग या Plus कोड के तौर पर बताई गई होनी चाहिए. geocodingResults
ऐरे के हर एलिमेंट में placeID
फ़ील्ड होता है. इसमें जगह की जानकारी, प्लेस आईडी के तौर पर होती है. साथ ही, type
फ़ील्ड में जगह के टाइप की जानकारी होती है, जैसे कि street_address
, premise
या airport
.
geocodingResults
कलेक्शन में तीन फ़ील्ड होते हैं:
origin
: अगर इसे पते की स्ट्रिंग या Plus कोड के तौर पर बताया गया था, तो ऑरिजिन की जगह का आईडी. ऐसा न करने पर, इस फ़ील्ड को रिस्पॉन्स से हटा दिया जाता है.destination
: अगर इसे पते की स्ट्रिंग या प्लस कोड के तौर पर बताया गया था, तो डेस्टिनेशन का प्लेस आईडी. ऐसा न करने पर, इस फ़ील्ड को रिस्पॉन्स से हटा दिया जाता है.intermediates
: यह एक कलेक्शन है, जिसमें किसी भी बीच के waypoints का प्लेस आईडी होता है. यह आईडी, पते की स्ट्रिंग या Plus कोड के तौर पर दिया जाता है. अगर आपने प्लेस आईडी या अक्षांश और देशांतर के निर्देशांक का इस्तेमाल करके, किसी बीच के रास्ते के वेपॉइंट की जानकारी दी है, तो उसे जवाब में शामिल नहीं किया जाएगा. रिस्पॉन्स मेंintermediateWaypointRequestIndex
प्रॉपर्टी का इस्तेमाल करके यह पता लगाएं कि अनुरोध में कौनसा इंटरमीडिएट वेपॉइंट, रिस्पॉन्स में मौजूद प्लेस आईडी से मेल खाता है.
"geocodingResults": { "origin": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "destination": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "intermediates": [ { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string }, { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string } ] }
स्थानीय भाषा के हिसाब से जवाब की वैल्यू को समझना
स्थानीय भाषा में जवाब की वैल्यू, जवाब का एक अतिरिक्त फ़ील्ड होता है. यह, दिखाए गए पैरामीटर की वैल्यू के लिए, स्थानीय भाषा में टेक्स्ट उपलब्ध कराता है. यात्रा की अवधि, दूरी, और यूनिट सिस्टम (मेट्रिक या इंपीरियल) के लिए, स्थानीय भाषा में टेक्स्ट दिया जाता है. फ़ील्ड मास्क का इस्तेमाल करके, स्थानीय भाषा में वैल्यू का अनुरोध किया जाता है. इसके लिए, भाषा और यूनिट सिस्टम तय किया जा सकता है या एपीआई से मिली वैल्यू का इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, LocalizedValues देखें.
उदाहरण के लिए, अगर जर्मन (de) और इंपीरियल यूनिट के लिए भाषा कोड दिया जाता है, तो आपको distanceMeters
की वैल्यू 49889.7 मिलती है. साथ ही, आपको स्थानीय भाषा में लिखा गया टेक्स्ट भी मिलता है, जिसमें दूरी को जर्मन और इंपीरियल यूनिट में दिखाया जाता है. जैसे, "31 मील."
स्थानीय भाषा में दिखाई जाने वाली वैल्यू का उदाहरण यहां दिया गया है:
{ "localized_values": { "distance": { "text": "31,0 Meile/n" }, "duration": { "text": 38 Minuten}. "static_duration": { "text": 36 Minuten}. } }
अगर आपने भाषा या यूनिट सिस्टम की जानकारी नहीं दी है, तो एपीआई भाषा और यूनिट का पता इस तरह लगाता है:
ComputeRoutes
तरीके से, ऑरिजिन वॉयपॉइंट से जगह और दूरी की इकाइयों का अनुमान लगाया जाता है. इसलिए, अमेरिका में रूटिंग के अनुरोध के लिए, एपीआईen-US
भाषा औरIMPERIAL
इकाइयों का अनुमान लगाता है.ComputeRouteMatrix
का तरीका, डिफ़ॉल्ट रूप से 'en-US' भाषा और मीटरिक इकाइयों पर सेट होता है.