रूट की गिनती करने के लिए, रूट एपीआई इनपुट के तौर पर वेपॉइंट और कॉन्फ़िगरेशन पैरामीटर की सूची लेता है. इसके बाद, एपीआई आपको एक रिस्पॉन्स दिखाता है, जिसमें डिफ़ॉल्ट रूट और एक या उससे ज़्यादा वैकल्पिक रूट शामिल होते हैं.
रास्ते की गिनती करने का अनुरोध, कई इनपुट विकल्पों के साथ काम करता है. उदाहरण के लिए, ये अनुरोध कर सकते हैं:
ईंधन या ऊर्जा की सबसे कम खपत वाले रास्ते पर, इंजन के टाइप के हिसाब से ईको-फ़्रेंडली रास्ते की जानकारी.
तीन वैकल्पिक रास्ते तक.
पूरे रास्ते के लिए पॉलीलाइन:
टोल की कीमत में होने वाली छूट या ड्राइवर या वाहन के लिए उपलब्ध पास को ध्यान में रखते हुए, अनुमानित टोल.
कई अन्य विकल्प. इनपुट के विकल्पों की पूरी सूची के लिए, अनुरोध का मुख्य हिस्सा देखें.
इस जवाब की मदद से, अपने ग्राहकों को उनकी ज़रूरत के हिसाब से सही रास्ता चुनने के लिए, ज़रूरी जानकारी दी जा सकती है.
फ़ील्ड मास्क के बारे में जानकारी
जब आप रास्ते की गिनती करने के लिए किसी तरीके पर कॉल करते हैं, तो आपको एक फ़ील्ड मास्क बताना होगा. यह तय करना होता है कि जवाब में कौनसे फ़ील्ड देने हैं. लौटाए गए फ़ील्ड की कोई डिफ़ॉल्ट सूची नहीं होती है. अगर इस सूची को छोड़ दिया जाता है, तो तरीकों में गड़बड़ी दिखेगी.
इस दस्तावेज़ में दिए गए उदाहरण, फ़ील्ड मास्क को बिना विचार किए पूरा रिस्पॉन्स ऑब्जेक्ट दिखाते हैं. प्रोडक्शन एनवायरमेंट में, आपके रिस्पॉन्स में सिर्फ़ वे फ़ील्ड शामिल होंगे जिन्हें आप फ़ील्ड मास्क में साफ़ तौर पर बताते हैं.
ज़्यादा जानकारी के लिए, वापस जाने के लिए फ़ील्ड चुनें पर जाएं.
कॉपीराइट दिखाने के बारे में जानकारी
अपने उपयोगकर्ताओं को नतीजे दिखाते समय, आपको नीचे दिया गया कॉपीराइट स्टेटमेंट शामिल करना होगा:
Powered by Google, ©YEAR Google
उदाहरण के लिए:
Powered by Google, ©2023 Google
रास्ते, पैरों, और कदमों के बारे में जानकारी
रूट एपीआई से मिलने वाले रिस्पॉन्स को देखने से पहले, आपको रूट बनाने वाले कॉम्पोनेंट की समझ होनी चाहिए:
जगह:
रास्ते: यात्रा शुरू करने की मूल जगह से, बीच के रास्ते से मंज़िल तक की पूरी यात्रा. रास्ते में एक या उससे ज़्यादा पैर होते हैं.
लेग: रूट में एक वेपॉइंट से अगले रूटपॉइंट का पाथ. हर चरण में एक या उससे ज़्यादा अलग-अलग चरण होते हैं.
हर रास्ते से दूसरे रास्ते तक जाने के लिए, हर रास्ते में एक अलग पैर होता है. उदाहरण के लिए, अगर रास्ते में एक ही ऑरिजिन वेपॉइंट और एक ही डेस्टिनेशन वेपॉइंट है, तो रूट में एक ही लेग है. ऑरिजिन और मंज़िल के बाद जोड़े गए हर अन्य वेपॉइंट के लिए, बीच के रास्ते को एक अलग चरण में जोड़ा जाता है.
एपीआई की मदद से, किसी पास-थ्रू इंटरमीडिएट वेपॉइंट में पांव नहीं जोड़ा जाता. उदाहरण के लिए, ऐसे रास्ते जिनमें ऑरिजिन वेपॉइंट, पास-थ्रू बीच के वेपॉइंट, और डेस्टिनेशन वेपॉइंट शामिल होते हैं, जो शुरुआत की जगह से डेस्टिनेशन तक जाने के लिए सिर्फ़ एक पैर होता है, जबकि वेपॉइंट से गुज़रते हुए. पास-थ्रू वेपॉइंट के बारे में ज़्यादा जानकारी के लिए, पास-थ्रू वेपॉइंट तय करें देखें.
चरण: एक रास्ते के हर हिस्से के लिए एक निर्देश. चरण किसी रास्ते की सबसे परमाणु इकाई होता है. उदाहरण के लिए, किसी चरण से यह पता चल सकता है कि 'मुख्य सड़क पर बाईं ओर जाएं''.
जवाब के बारे में जानकारी
एपीआई रिस्पॉन्स को दिखाने वाले JSON ऑब्जेक्ट में ये टॉप लेवल प्रॉपर्टी शामिल होती हैं:
routes
रूट टाइप के एलिमेंट की कैटगरी.routes
ऐरे में, एपीआई से मिले हर रास्ते के लिए एक एलिमेंट शामिल होता है. श्रेणी में ज़्यादा से ज़्यादा पांच एलिमेंट हो सकते हैं: डिफ़ॉल्ट रास्ता, इको-फ़्रेंडली रास्ता, और तीन वैकल्पिक रास्ते.geocodingResults
GeocodingResults टाइप के एलिमेंट का कलेक्शन. अनुरोध में शामिल हर जगह (ऑरिजिन, डेस्टिनेशन या इंटरमीडिएट वेपॉइंट) के लिए, पता स्ट्रिंग या प्लस कोड के तौर पर तय की गई जगह के लिए, एपीआई एक जगह का आईडी लुकअप करता है. इस श्रेणी के हर एलिमेंट में किसी जगह से जुड़ा प्लेस आईडी होता है. जगह के आईडी या देशांतर/देशांतर निर्देशांकों के रूप में दर्ज किए गए अनुरोध में मौजूद जगहों को अनदेखा कर दिया जाता है.fallbackInfo
, FallbackInfo. अगर API सभी इनपुट प्रॉपर्टी से रूट की गणना नहीं कर पाता है, तो हो सकता है कि वह कंप्यूटेशन के किसी दूसरे तरीके का इस्तेमाल करके फ़ॉलबैक कर दे. जब फ़ॉलबैक मोड का इस्तेमाल किया जाता है, तो इस फ़ील्ड में फ़ॉलबैक रिस्पॉन्स के बारे में पूरी जानकारी होती है. अगर ऐसा नहीं है, तो इस फ़ील्ड को सेट नहीं किया जाता.
रिस्पॉन्स में यह फ़ॉर्म दिखता है:
{ // The routes array. "routes": [ { object (Route) } ], // The place ID lookup results. "geocodingResults": [ { object (GeocodedWaypoint) } ], // The fallback property. "fallbackInfo": { object (FallbackInfo) } }
रास्ते की कैटगरी को समझना
जवाब में एक routes
ऐरे शामिल होता है, जहां श्रेणी का हर एलिमेंट रूट होता है.
श्रेणी का हर एलिमेंट, शुरुआत की जगह से मंज़िल तक का पूरा रास्ता दिखाता है. एपीआई हमेशा कम से कम एक रास्ता दिखाता है. इसे डिफ़ॉल्ट रास्ता कहा जाता है.
कुछ और रास्तों के लिए भी अनुरोध किया जा सकता है. ईको-फ़्रेंडली रास्ते का अनुरोध करने पर, श्रेणी में दो एलिमेंट हो सकते हैं: डिफ़ॉल्ट रास्ता और ईको-फ़्रेंडली रास्ता. या फिर रिस्पॉन्स के तौर पर ज़्यादा से ज़्यादा तीन वैकल्पिक रास्ते जोड़ने के लिए, computeAlternativeRoutes
को
true
पर सेट करें.
routeLabels
श्रेणी वाली प्रॉपर्टी का इस्तेमाल करके, श्रेणी में हर रास्ते की पहचान करें. 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": { "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
पैरामीटर तय नहीं किया गया है, तो एपीआई,Accept-Language
हेडर में बताई गई पसंदीदा भाषा का इस्तेमाल करने की कोशिश करता है.अनुरोध के
languageCode
पैरामीटर का इस्तेमाल करें और रास्ते की भाषा को काम करने वाली भाषाओं की सूची से साफ़ तौर पर सेट करें. Google अक्सर उन भाषाओं को अपडेट करता है जिनका इस्तेमाल किया जा सकता है. इसलिए, हो सकता है कि यह सूची पूरी न हो.अगर कोई भाषा पसंदीदा भाषा में उपलब्ध नहीं है, तो एपीआई सबसे नज़दीकी मिलान का इस्तेमाल करता है.
पसंदीदा भाषा पर, नतीजों के उस सेट का बहुत कम असर पड़ता है जो एपीआई रिटर्न करने के लिए चुनता है और यह कि उन्हें किस क्रम में दिखाया जाता है. जियोहोमर, भाषा के आधार पर संक्षिप्त रूप में व्याख्या करता है, जैसे कि सड़क के प्रकार के लिए संक्षिप्त नाम या समानार्थी शब्द, जो एक भाषा में मान्य हो सकते हैं, लेकिन दूसरी भाषा में नहीं. उदाहरण के लिए, utca और tér हंगेरियन भाषा में एक जैसे मतलब वाले शब्द हैं.
GeocodingResults श्रेणी को समझना
अनुरोध में शामिल हर जगह (ऑरिजिन, डेस्टिनेशन या इंटरमीडिएट वेपॉइंट) के बारे में जो पता स्ट्रिंग या प्लस कोड के तौर पर बताया गया था, एपीआई उस जगह से जुड़ी सबसे सही जगह ढूंढने की कोशिश करता है जिसमें आईडी है. geocodingResults
ऐरे के हर एलिमेंट में placeID
फ़ील्ड होता है, जिसमें जगह की जानकारी के तौर पर जगह का आईडी होता है. इसके अलावा, type
फ़ील्ड में जगह का टाइप बताया जाता है, जैसे कि street_address
, premise
या airport
.
geocodingResults
कलेक्शन में तीन फ़ील्ड होते हैं:
origin
: अगर इसे पते की स्ट्रिंग या Plus Code के तौर पर बताया गया है, तो मूल जगह का आईडी. ऐसा न करने पर, इस फ़ील्ड को रिस्पॉन्स में शामिल नहीं किया जाएगा.destination
: अगर इसे पते की स्ट्रिंग या Plus Code के तौर पर बताया गया है, तो डेस्टिनेशन की जगह का आईडी. ऐसा न होने पर, इस फ़ील्ड को रिस्पॉन्स में शामिल नहीं किया जाता है.intermediates
एक कैटगरी जिसमें पता स्ट्रिंग या Plus Code के तौर पर दिए गए किसी भी इंटरमीडिएट वेपॉइंट की जगह का आईडी होता है. अगर किसी मध्यस्थ वेपॉइंट को जगह के आईडी या अक्षांश/देशांतर के निर्देशांक के तौर पर दिखाया जाता है, तो उसे जवाब से हटा दिया जाता है. जवाब में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 } ] }