Routes API, किसी रास्ते का हिसाब लगाते समय, आपके दिए गए वेपॉइंट और कॉन्फ़िगरेशन पैरामीटर को इनपुट के तौर पर लेता है. इसके बाद, एपीआई एक ऐसा जवाब देता है जिसमें डिफ़ॉल्ट रूट और एक या उससे ज़्यादा वैकल्पिक रूट शामिल होते हैं.
आपके अनुरोध किए गए फ़ील्ड के आधार पर, जवाब में अलग-अलग तरह के रास्ते और अन्य डेटा शामिल हो सकता है:
इसे जवाब में शामिल करने के लिए | यह दस्तावेज़ देखें |
---|---|
वाहन के इंजन टाइप के हिसाब से, ईंधन या ऊर्जा की सबसे कम खपत वाला रास्ता. | ईको-फ़्रेंडली रास्ते कॉन्फ़िगर करना |
ज़्यादा से ज़्यादा तीन वैकल्पिक रास्ते | अन्य रास्तों के लिए अनुरोध करना |
पूरे रास्ते, रास्ते के हर चरण, और चरण के हर हिस्से के लिए पॉलीलाइन. | रास्ते की पॉलीलाइन का अनुरोध करना |
टोल टैक्स का अनुमान, जिसमें ड्राइवर या वाहन के लिए उपलब्ध टोल टैक्स में छूट या पास को ध्यान में रखा जाता है. | टोल का हिसाब लगाना |
भाषा कोड और मेज़रमेंट यूनिट (इंपीरियल या मेट्रिक) के हिसाब से स्थानीय जवाब. | स्थानीय भाषा में अनुवाद की गई वैल्यू का अनुरोध करना |
नेविगेशन के निर्देशों को एचटीएमएल टेक्स्ट स्ट्रिंग के तौर पर फ़ॉर्मैट करने के लिए, HTML_FORMATTED_NAVIGATION_INSTRUCTIONS से extraComputations जोड़ें. |
ज़्यादा कैलकुलेशन |
इनपुट के सभी विकल्पों की पूरी सूची देखने के लिए, रास्ते के उपलब्ध विकल्प और अनुरोध का मुख्य हिस्सा देखें.
जवाब का इस्तेमाल करके, अपने ग्राहकों को वह जानकारी दी जा सकती है जो उनकी ज़रूरतों के हिसाब से सही रास्ता चुनने के लिए ज़रूरी है.
फ़ील्ड मास्क के बारे में जानकारी
किसी रूट का हिसाब लगाने के लिए, किसी तरीके को कॉल करते समय, आपको फ़ील्ड मास्क तय करना होगा. इससे यह तय होता है कि आपको जवाब में कौनसा फ़ील्ड चाहिए. जवाब में मिले फ़ील्ड की कोई डिफ़ॉल्ट सूची नहीं होती. इस सूची को शामिल न करने पर, तरीकों से गड़बड़ी का मैसेज मिलता है.
इस दस्तावेज़ में दिए गए उदाहरणों में, फ़ील्ड मास्क को ध्यान में रखे बिना पूरे जवाब ऑब्जेक्ट को दिखाया गया है. प्रोडक्शन एनवायरमेंट में, आपके जवाब में सिर्फ़ वे फ़ील्ड शामिल होंगे जिन्हें आपने फ़ील्ड मास्क में साफ़ तौर पर बताया है.
ज़्यादा जानकारी के लिए, जवाब में शामिल की जाने वाली जानकारी चुनना लेख पढ़ें.
कॉपीराइट दिखाने के बारे में जानकारी
अपने उपयोगकर्ताओं को नतीजे दिखाते समय, आपको कॉपीराइट से जुड़ा यह स्टेटमेंट शामिल करना होगा:
Powered by Google, ©YEAR Google
उदाहरण के लिए:
Powered by Google, ©2023 Google
रास्तों, लेग, और चरणों के बारे में जानकारी
Routes API से मिले रिस्पॉन्स को देखने से पहले, आपको यह पता होना चाहिए कि किसी रास्ते में कौन-कौनसे कॉम्पोनेंट शामिल होते हैं:
आपके जवाब में, रास्ते के इन कॉम्पोनेंट के बारे में जानकारी हो सकती है:
रास्ता: यात्रा शुरू करने की जगह से लेकर, रास्ते में पड़ने वाली जगहों से होते हुए मंज़िल तक पहुंचने का पूरा रास्ता. किसी रास्ते में एक या उससे ज़्यादा लेग होते हैं.
लेग: किसी रास्ते में एक वेपॉइंट से अगले वेपॉइंट तक का रास्ता. हर लेग में एक या उससे ज़्यादा अलग-अलग चरण होते हैं.
किसी रूट में, हर वेपॉइंट से अगले वेपॉइंट तक के रास्ते के लिए एक अलग लेग होता है. उदाहरण के लिए, अगर रास्ते में एक ही ऑरिजिन वेपॉइंट और एक ही डेस्टिनेशन वेपॉइंट है, तो रास्ते में एक ही लेग होगा. शुरुआत और मंज़िल के बाद, रास्ते में जोड़े गए हर अतिरिक्त वेपॉइंट के लिए, एपीआई एक अलग लेग जोड़ता है. इसे इंटरमीडिएट वेपॉइंट कहा जाता है.
एपीआई, पास-थ्रू इंटरमीडिएट वेपॉइंट के लिए लेग नहीं जोड़ता है. उदाहरण के लिए, यात्रा शुरू करने की जगह, बीच में पड़ने वाला पास-थ्रू वेपॉइंट, और मंज़िल वाले रास्ते में, यात्रा शुरू करने की जगह से मंज़िल तक सिर्फ़ एक लेग होता है. हालांकि, इस दौरान वेपॉइंट से होकर गुज़रना होता है. पास-थ्रू वेपॉइंट के बारे में ज़्यादा जानकारी के लिए, पास-थ्रू वेपॉइंट तय करना लेख पढ़ें.
चरण: किसी रास्ते के एक हिस्से के लिए दिया गया एक निर्देश. रास्ते का सबसे छोटा हिस्सा, चरण होता है. उदाहरण के लिए, किसी चरण में "मुख्य सड़क पर बाईं ओर मुड़ें" लिखा हो सकता है.
जवाब में क्या-क्या शामिल है
एपीआई से मिले जवाब के तौर पर मिले JSON ऑब्जेक्ट में, टॉप-लेवल की ये प्रॉपर्टी शामिल होती हैं:
routes
, Route टाइप के एलिमेंट का कलेक्शन.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" ], … } ] }
legs ऐरे को समझना
जवाब में मौजूद हर 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
कलेक्शन होता है. इस 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, street के समानार्थी शब्द हैं.
geocodingResults ऐरे को समझना
अनुरोध में मौजूद हर जगह (शुरुआत, मंज़िल या बीच का वेपॉइंट) के लिए, एपीआई सबसे सही जगह ढूंढने की कोशिश करता है. यह जगह, पते के स्ट्रिंग या प्लस कोड के तौर पर बताई गई हो. साथ ही, इसका प्लेस आईडी भी मौजूद हो. geocodingResults
ऐरे के हर एलिमेंट में, placeID
फ़ील्ड होता है. इसमें जगह का आईडी होता है. साथ ही, इसमें type
फ़ील्ड होता है. इसमें जगह का टाइप होता है, जैसे कि street_address
, premise
या airport
.
geocodingResults
अरे में तीन फ़ील्ड होते हैं:
origin
: अगर इसे पते की स्ट्रिंग या Plus code के तौर पर बताया गया था, तो यह जगह का आईडी होता है. ऐसा न होने पर, इस फ़ील्ड को जवाब से हटा दिया जाता है.destination
: अगर इसे पते की स्ट्रिंग या प्लस कोड के तौर पर तय किया गया था, तो मंज़िल का प्लेस आईडी. ऐसा न होने पर, इस फ़ील्ड को जवाब से हटा दिया जाता है.intermediates
: यह एक कलेक्शन है. इसमें रास्ते में पड़ने वाले किसी भी इंटरमीडिएट वेपॉइंट का प्लेस आईडी होता है. इसे पते की स्ट्रिंग या प्लस कोड के तौर पर तय किया जाता है. अगर जगह के आईडी या अक्षांश और देशांतर के निर्देशांकों का इस्तेमाल करके, बीच के किसी वेपॉइंट की जानकारी दी जाती है, तो उसे जवाब में शामिल नहीं किया जाता. जवाब में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' भाषा और मीट्रिक इकाइयों के लिए सेट होता है.