खास जानकारी
आप दिशा-निर्देशों की गणना कर सकते हैं. इसके लिए
परिवहन का) DirectionsService
का इस्तेमाल करके
ऑब्जेक्ट है. यह ऑब्जेक्ट Google Maps API के निर्देशों के साथ कम्यूनिकेट करता है
ऐसी सेवा जिसके लिए रास्ते की जानकारी पाने के अनुरोध किए गए हों और एक बेहतर पाथ दिखाया गया हो.
यात्रा में लगने वाला समय ऑप्टिमाइज़ करने की मुख्य वजह है. हालांकि, इसमें कुछ अन्य चीज़ें भी शामिल हैं
जैसे, दूरी, मोड़ों की संख्या वगैरह को ध्यान में रखा जा सकता है.
आप या तो इन दिशा-निर्देशों के परिणामों को खुद प्रबंधित कर सकते हैं या
इन्हें रेंडर करने के लिए DirectionsRenderer
ऑब्जेक्ट है
नतीजे.
निर्देश के अनुरोध में शुरुआत की जगह या मंज़िल के बारे में बताते समय,
आप क्वेरी स्ट्रिंग दर्ज कर सकते हैं (उदाहरण के लिए, "शिकागो, IL" या
"डारविन, NSW, ऑस्ट्रेलिया"), LatLng
वैल्यू या
जगह ऑब्जेक्ट.
दिशा-निर्देश सेवा एक सीरीज़ का इस्तेमाल करके कई हिस्सों में दिए गए दिशा-निर्देश दिखा सकती है
का विकल्प मिलता है. दिशा-निर्देशों को पॉलीलाइन ड्रॉइंग के तौर पर दिखाया गया है
मैप पर रास्ता दिखाया जा सकता है या टेक्स्ट वाली सीरीज़ के तौर पर
<div>
एलिमेंट में ब्यौरा (उदाहरण के लिए,
"विलियमबर्ग ब्रिज के रैंप पर दाएं मुड़ें").
शुरू करना
Maps JavaScript API में दिशा-निर्देश सेवा का इस्तेमाल करने से पहले, पक्का कर लें कि निर्देश एपीआई को Google Cloud Console में चालू किया गया हो. साथ ही, प्रोजेक्ट होता है, जिसे आपने Maps JavaScript API के लिए सेट अप किया होता है.
अपने चालू एपीआई की सूची देखने के लिए:
- YouTube Studio के Google Cloud Console.
- प्रोजेक्ट चुनें बटन पर क्लिक करें, इसके बाद, वही प्रोजेक्ट चुनें जिसे आपने Maps JavaScript API पर जाएं और खोलें पर क्लिक करें.
- डैशबोर्ड पर एपीआई की सूची से, दिशा-निर्देशों से जुड़ा एपीआई.
- अगर आपको सूची में एपीआई दिखता है, तो इसका मतलब है कि आपका काम हो गया है. अगर एपीआई सूची में नहीं है,
इसे चालू करें:
- पेज के सबसे ऊपर, एपीआई चालू करें चुनें, ताकि लाइब्रेरी टैब. इसके अलावा, बाईं ओर दिए गए मेन्यू से, लाइब्रेरी चुनें.
- दिशा-निर्देश API खोजें, फिर इसे नतीजों की सूची.
- चालू करें को चुनें. प्रोसेस पूरी होने के बाद, दिशा-निर्देश एपीआई, एपीआई की सूची में डैशबोर्ड.
कीमत और नीतियां
कीमत
16 जुलाई, 2018 से, इस्तेमाल के हिसाब से पैसे चुकाने की नई कीमत तय करने की सुविधा मैप, रास्तों, और जगहों की जानकारी देने वाला इफ़ेक्ट. नई कीमतों के बारे में ज़्यादा जानने के लिए और JavaScript दिशा-निर्देश सेवा के आपके उपयोग की सीमाएँ देखें, तो इस्तेमाल और बिलिंग के लिए देखें.
नीतियां
निर्देश सेवा का उपयोग बताई गई नीतियों के बारे में जानकारी निर्देश एपीआई के लिए.
दिशा-निर्देशों के लिए अनुरोध
निर्देश सेवा तक पहुंच एसिंक्रोनस है, क्योंकि
तो Google Maps API का इस्तेमाल करने के लिए
सर्वर. इस वजह से, आपको कॉलबैक की ज़रूरत होगी
अनुरोध पूरा करने का तरीका. यह
कॉलबैक का तरीका होने पर, नतीजों को प्रोसेस किया जाना चाहिए. ध्यान दें कि
निर्देश देने वाली सेवा, यात्रा की एक से ज़्यादा संभावित योजना दिखा सकती है
अलग-अलग routes[]
के कलेक्शन के तौर पर.
Maps JavaScript API में निर्देशों का इस्तेमाल करने के लिए,
DirectionsService
टाइप करें और कॉल करें
अनुरोध करने के लिए DirectionsService.route()
को दिशा-निर्देश सेवा को देते हुए, इसे
DirectionsRequest
ऑब्जेक्ट लिटरल
इसमें इनपुट टर्म और एक्ज़ीक्यूट करने के लिए कॉलबैक का तरीका शामिल है
Google Ads API का इस्तेमाल करें.
DirectionsRequest
ऑब्जेक्ट लिटरल में
ये फ़ील्ड शामिल होते हैं:
{ origin: LatLng | String | google.maps.Place, destination: LatLng | String | google.maps.Place, travelMode: TravelMode, transitOptions: TransitOptions, drivingOptions: DrivingOptions, unitSystem: UnitSystem, waypoints[]: DirectionsWaypoint, optimizeWaypoints: Boolean, provideRouteAlternatives: Boolean, avoidFerries: Boolean, avoidHighways: Boolean, avoidTolls: Boolean, region: String }
इन फ़ील्ड को नीचे समझाया गया है:
origin
(ज़रूरी है) शुरू होने की जगह की जानकारी देता है इसका इस्तेमाल करके दिशा-निर्देशों का पता लगाया जाता है. इस मान कोLatLng
के तौर पर,String
(उदाहरण के लिए, "शिकागो, IL") वैल्यू या जगह ऑब्जेक्ट के तौर पर दिखेगी. अगर आपको किसी जगह ऑब्जेक्ट डालें, तो आप जगह का आईडी, क्वेरी स्ट्रिंग याLatLng
जगह. आप जियोकोडिंग से जगह के आईडी हासिल कर सकते हैं, इसमें खोज और स्थान ऑटोकंप्लीट सेवाएं रखें Maps JavaScript एपीआई. एक उदाहरण के लिए, एक जगह से दूसरी जगह के आईडी का इस्तेमाल करना ऑटोकंप्लीट, देखें जगह ऑटोकंप्लीट की सुविधा और निर्देश.destination
(ज़रूरी है) खत्म होने की जगह बताता है जिस तक दिशा-निर्देश का हिसाब लगाना है. विकल्प इसके समान हैंorigin
फ़ील्ड के बारे में ऊपर बताया गया है.travelMode
(ज़रूरी है) क्या बताती है दिशा-निर्देशों का पता लगाते समय इस्तेमाल किया जाने वाला परिवहन का साधन. मान्य वैल्यू ट्रैवल मोड में दी गई हों देखें.transitOptions
(ज़रूरी नहीं) बताता है जो सिर्फ़ उन अनुरोधों पर लागू होते हैं जहांtravelMode
हैTRANSIT
. मान्य वैल्यू के बारे में बताया गया है नीचे बस, मेट्रो वगैरह के विकल्प में जाएं.drivingOptions
(ज़रूरी नहीं) बताता है जो सिर्फ़ उन अनुरोधों पर लागू होते हैं जहांtravelMode
हैDRIVING
. मान्य वैल्यू के बारे में बताया गया है ड्राइविंग के विकल्प में जाएं.unitSystem
(ज़रूरी नहीं) यह बताता है कि इकाई सिस्टम का इस्तेमाल करें. मान्य मान ये हैं की जानकारी नीचे यूनिट सिस्टम में दी गई है.waypoints[]
(ज़रूरी नहीं) बताता हैDirectionsWaypoint
का कलेक्शन. वेपॉइंट में बदलाव तय की गई जगह(जगहों) से रूट करके रूट को जाता है. वेपॉइंट, फ़ील्ड के साथ लिटरल वैल्यू के तौर पर बताया गया है नीचे दी गई जानकारी देखें:location
इसकी जगह की जानकारी देता है वेपॉइंट,LatLng
के तौर पर जगह ऑब्जेक्ट या इस तरह से दिखाएंString
को जियोकोड किया जाएगा.stopover
एक बूलियन है, जो वेपॉइंट, रास्ते का एक स्टॉप है, जिसमें रूट को दो रूट में बांटने का असर.
(वेपॉइंट के बारे में अधिक जानकारी के लिए, नीचे रास्तों में वेपॉइंट दिए गए हैं.)
optimizeWaypoints
(ज़रूरी नहीं) से पता चलता है कि दिए गएwaypoints
का उपयोग करने वाला रास्ता यह हो सकता है वेपॉइंट को ज़्यादा बेहतर क्रम में फिर से व्यवस्थित करके ऑप्टिमाइज़ किया गया हो. अगरtrue
, निर्देश देने वाली सेवा, फिर से क्रम में लगाई गईwaypoints
दिखाएगीwaypoint_order
फ़ील्ड में डालें.(ज़्यादा जानकारी के लिए रास्ते में वेपॉइंट का इस्तेमाल करना देखें below.)provideRouteAlternatives
(वैकल्पिक) सेट होने पर सेtrue
तक यह पता चलता है कि दिशा-निर्देश सेवा जवाब में रास्ते के एक से ज़्यादा विकल्प दें. ध्यान दें कि रास्ते के विकल्प देने से जवाब देने में ज़्यादा समय लग सकता है सर्वर पर जाएं. यह सिर्फ़ उन अनुरोधों के लिए उपलब्ध है जिनके लिए इंटरमीडिएट वेपॉइंट मौजूद नहीं हैं.avoidFerries
(ज़रूरी नहीं) पर सेट होने परtrue
बताता है कि आपके दिए गए रास्तों पर अगर हो सके, तो फ़ेरी न दिखाएं.avoidHighways
(ज़रूरी नहीं) पर सेट होने परtrue
बताता है कि आपके दिए गए रास्तों पर अगर संभव हो, तो प्रमुख हाइवे से बचें.avoidTolls
(ज़रूरी नहीं) पर सेट होने परtrue
बताता है कि आपके दिए गए रास्तों पर अगर संभव हो, तो टोल सड़कों से बचें.region
(ज़रूरी नहीं) यह बताता है कि क्षेत्र का कोड, जिसे ccTLD ("टॉप लेवल डोमेन") के तौर पर बताया गया है दो वर्ण वाला मान. (ज़्यादा जानकारी के लिए देखें क्षेत्र का आधार नीचे दिया गया है.)
नीचे DirectionsRequest
का एक सैंपल दिया गया है:
{ origin: 'Chicago, IL', destination: 'Los Angeles, CA', waypoints: [ { location: 'Joplin, MO', stopover: false },{ location: 'Oklahoma City, OK', stopover: true }], provideRouteAlternatives: false, travelMode: 'DRIVING', drivingOptions: { departureTime: new Date(/* now, or future date */), trafficModel: 'pessimistic' }, unitSystem: google.maps.UnitSystem.IMPERIAL }
यात्रा के मोड
जब आप दिशा-निर्देशों की गणना करते हैं, तो आपको कि परिवहन का कौनसा मोड इस्तेमाल करना है. यह यात्रा फ़िलहाल, इन मोड का इस्तेमाल किया जा सकता है:
DRIVING
(डिफ़ॉल्ट) सड़क नेटवर्क का इस्तेमाल करके मानक ड्राइविंग दिशा-निर्देश बताता है.BICYCLING
ने साइकल चलाने का अनुरोध किया है साइकिल पथों से होकर दिशा-निर्देश पसंदीदा सड़कें चुनें.TRANSIT
ने इसके ज़रिए निर्देशों का अनुरोध किया है बस, मेट्रो वगैरह के रास्ते.WALKING
ने पैदल जाने के लिए दिशा-निर्देश का अनुरोध किया है पैदल रास्तों से और फ़ुटपाथ.
Google Maps Platform के कवरेज की जानकारी देखें
ताकि यह पता लगाया जा सके कि कोई देश किस हद तक निर्देश पाने की सुविधा देता है. अगर आप अनुरोध करें
उस क्षेत्र के लिए दिशा-निर्देश, जिसमें वह दिशा प्रकार उपलब्ध नहीं है,
तो जवाब में
DirectionsStatus
="ZERO_RESULTS
".
ध्यान दें: हो सकता है कि पैदल जाने की जानकारी में साफ़ तौर पर जानकारी न दिखे
पैदल चलने के रास्ते दिखाई नहीं देते हैं, तो पैदल जाने के निर्देश
DirectionsResult
. ये चेतावनियां हमेशा
उपयोगकर्ता. अगर आप डिफ़ॉल्ट DirectionsRenderer
का उपयोग नहीं करते हैं, तो
यह पक्का करना ज़रूरी है कि चेतावनियां दिखाई जाएं.
सार्वजनिक परिवहन के विकल्प
दिशा-निर्देश के अनुरोध के लिए उपलब्ध विकल्प, यात्रा के अलग-अलग साधनों के हिसाब से अलग-अलग होते हैं.
सार्वजनिक परिवहन के निर्देशों का अनुरोध करते समय, avoidHighways
,
avoidTolls
, waypoints[]
, और
optimizeWaypoints
विकल्पों को अनदेखा कर दिया जाएगा. यह तय किया जा सकता है कि
बस, मेट्रो वगैरह के लिए खास रूटिंग विकल्प
TransitOptions
ऑब्जेक्ट लिटरल.
बस, मेट्रो वगैरह के रास्ते के लिए निर्देश, समय के हिसाब से संवेदनशील होते हैं. दिशा-निर्देश सिर्फ़ इसके लिए दिखाए जाएंगे आने वाले समय में कितनी बार ऐसा हो सकता है.
TransitOptions
ऑब्जेक्ट लिटरल में ये शामिल हैं
फ़ील्ड:
{ arrivalTime: Date, departureTime: Date, modes[]: TransitMode, routingPreference: TransitRoutePreference }
इन फ़ील्ड को नीचे समझाया गया है:
arrivalTime
(ज़रूरी नहीं) यह तय करता है कि आपको किस तरह की जानकारी चाहिएDate
ऑब्जेक्ट के तौर पर पहुंचने का समय. अगर पहुंचने का समय इतना है बताया गया है, तो रवानगी के समय को अनदेखा किया जाता है.departureTime
(ज़रूरी नहीं) यह तय करता है कि आपको किस तरह की जानकारी चाहिएDate
ऑब्जेक्ट के तौर पर रवानगी का समय. कॉन्टेंट बनाने अगरarrivalTime
है, तोdepartureTime
को अनदेखा कर दिया जाएगा बताया गया है. कोई वैल्यू न होने पर, डिफ़ॉल्ट तौर पर अब (यानी कि मौजूदा समय) पर सेट होती हैdepartureTime
या के लिए तयarrivalTime
.modes[]
(ज़रूरी नहीं) एक कलेक्शन है, जिसमें एक याTransitMode
ऑब्जेक्ट की लिटरल वैल्यू. यह फ़ील्ड सिर्फ़ अगर अनुरोध में API कुंजी शामिल है, तो शामिल नहीं किया जाता. हरTransitMode
ट्रांज़िट के किसी पसंदीदा मोड के बारे में बताता है. ये वैल्यू इस्तेमाल की जा सकती हैं:BUS
से पता चलता है कि आपके चुने गए रूट के लिए बस से यात्रा करने का विकल्प चुना जाना चाहिए.RAIL
से पता चलता है कि आपके चुने गए रास्ते के आधार पर ट्रेन, ट्राम, लाइट रेल और सबवे.SUBWAY
से पता चलता है कि चुने गए रास्ते के लिए सबवे से यात्रा करने को प्राथमिकता दी जानी चाहिए.TRAIN
से पता चलता है कि आपके चुने गए रास्ते के आधार पर ट्रेन से यात्रा की जानी चाहिए.TRAM
से पता चलता है कि आपके चुने गए रास्ते के आधार पर, ट्राम और लाइट रेल से यात्रा करना सही रहेगा.
routingPreference
(वैकल्पिक) प्राथमिकताओं को तय करता है बस, मेट्रो वगैरह के रूट के लिए. इस विकल्प का इस्तेमाल करने पर, आपको ध्यान दें कि एपीआई की ओर से चुने गए डिफ़ॉल्ट सबसे अच्छे रास्ते को स्वीकार न करना. यह फ़ील्ड सिर्फ़ तब ही तय किया जा सकता है, जब अनुरोध में एपीआई पासकोड. ये वैल्यू इस्तेमाल की जा सकती हैं:FEWER_TRANSFERS
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह बताता है कि दिए गए फ़ॉर्मूला के आधार पर तैयार किए गए रूट में ट्रांसफ़र.LESS_WALKING
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह बताता है कि आपके दिए गए रूट के लिए तय किए गए समय में पैदल चलने.
बस, मेट्रो वगैरह के लिए DirectionsRequest
का सैंपल नीचे दिखाया गया है:
{ origin: 'Hoboken NJ', destination: 'Carroll Gardens, Brooklyn', travelMode: 'TRANSIT', transitOptions: { departureTime: new Date(1337675679473), modes: ['BUS'], routingPreference: 'FEWER_TRANSFERS' }, unitSystem: google.maps.UnitSystem.IMPERIAL }
ड्राइविंग के विकल्प
आप इसके माध्यम से ड्राइविंग दिशानिर्देश के लिए रूटिंग विकल्प तय कर सकते हैं
DrivingOptions
ऑब्जेक्ट है.
DrivingOptions
ऑब्जेक्ट में ये फ़ील्ड शामिल हैं:
{ departureTime: Date, trafficModel: TrafficModel }
इन फ़ील्ड को नीचे समझाया गया है:
departureTime
(drivingOptions
ऑब्जेक्ट, लिटरल वैल्यू है) यह बताता है किDate
ऑब्जेक्ट के तौर पर रवानगी का समय. मान वर्तमान समय या भविष्य के किसी समय पर सेट हो. यह इसमें नहीं हो सकता पिछला. (एक जैसा हैंडलिंग पक्का करने के लिए, एपीआई सभी तारीखों को यूटीसी में बदल देता है) भी शामिल हैं.) Google Maps Platform Premium प्लान के ग्राहकों के लिए, अगर अनुरोध मेंdepartureTime
शामिल करें, तो एपीआई से अनुरोध मिलता है उस समय ट्रैफ़िक की अनुमानित स्थिति के हिसाब से सबसे अच्छा रास्ता, और इसमें ट्रैफ़िक का अनुमानित समय (duration_in_traffic
) शामिल है डालें. अगर आप जाने के समय की जानकारी नहीं देते (यानी, अगर अनुरोध मेंdrivingOptions
शामिल नहीं है), वापस भेजा गया रास्ता ट्रैफ़िक की स्थितियों को ध्यान में रखे बिना, आम तौर पर एक अच्छा रास्ता है.trafficModel
(ज़रूरी नहीं) अनुमान को इसका इस्तेमाल ट्रैफ़िक में लगने वाले समय को कैलकुलेट करने के लिए किया जाता है. इस सेटिंग से वैल्यू पर असर पड़ता है रिस्पॉन्स के तौर परduration_in_traffic
फ़ील्ड में दी गई वैल्यू इसमें पुराने औसत के आधार पर ट्रैफ़िक में अनुमानित समय होता है. डिफ़ॉल्ट तौर पर, यहbestguess
पर सेट होता है. ये वैल्यू इस्तेमाल की जा सकती हैं:bestguess
(डिफ़ॉल्ट) से पता चलता है कि यात्रा का सबसे अच्छा अनुमानduration_in_traffic
होना चाहिए समय के साथ ट्रैफ़िक की पुरानी स्थितियों और लाइव ट्रैफ़िक. लाइव ट्रैफ़िक जितना ज़्यादा ज़रूरी होता जाएगाdepartureTime
को अब करना है.pessimistic
से पता चलता है किduration_in_traffic
की अवधि, असल यात्रा से ज़्यादा होनी चाहिए ज़्यादातर दिनों में समय, हालांकि कभी-कभी खराब ट्रैफ़िक मिलता है शर्तें इस मान से ज़्यादा हो सकती हैं.optimistic
से पता चलता है किduration_in_traffic
, असल वैल्यू से कम होना चाहिए ज़्यादातर दिनों में यात्रा करने में लगने वाला समय. हालांकि, कभी-कभी कुछ समय ऐसा भी होता है जब यह अच्छा होता है ट्रैफ़िक का हाल इस मान से ज़्यादा तेज़ हो सकता है.
नीचे ड्राइविंग दिशा निर्देशों के लिए DirectionsRequest
का एक नमूना दिया गया है:
{ origin: 'Chicago, IL', destination: 'Los Angeles, CA', travelMode: 'DRIVING', drivingOptions: { departureTime: new Date(Date.now() + N), // for the time N milliseconds from now. trafficModel: 'optimistic' } }
यूनिट सिस्टम
डिफ़ॉल्ट रूप से, निर्देशों का आकलन करने और उन्हें दिखाने के लिए,
ऑरिजिन के देश या इलाके का यूनिट सिस्टम.
(ध्यान दें: ऑरिजिन
पतों के बजाय अक्षांश/देशांतर निर्देशांक हमेशा डिफ़ॉल्ट होते हैं
मेट्रिक यूनिट में बदल सकता है.) उदाहरण के लिए,
"शिकागो, इलिनॉय" "Toronto, ONT" के लिए मील में परिणाम प्रदर्शित करेगा, जबकि
पीछे वाला रास्ता किलोमीटर में परिणाम दिखाएगा. आपने लोगों तक पहुंचाया मुफ़्त में
इस यूनिट सिस्टम को बदलने के लिए,
नीचे दिए गए UnitSystem
में से किसी एक का इस्तेमाल करके अनुरोध करें
मान:
UnitSystem.METRIC
तय करता है और मेट्रिक सिस्टम का इस्तेमाल करते हैं. किलोमीटर का इस्तेमाल करके दूरियों को दिखाया जाता है.UnitSystem.IMPERIAL
इंपीरियल के इस्तेमाल के बारे में बताता है (अंग्रेज़ी) प्रणाली. मील का इस्तेमाल करके दूरियों को दिखाया जाता है.
ध्यान दें: सिर्फ़ यह यूनिट सिस्टम सेटिंग उपयोगकर्ता को दिखाए जाने वाले टेक्स्ट पर असर डालता है. रास्ते की जानकारी भी इसमें दूरी की वैल्यू शामिल हैं, जो उपयोगकर्ता को नहीं दिखाई जाती हैं. ये वैल्यू हमेशा होती हैं मीटर में.
दिशा-निर्देशों के लिए क्षेत्र का मापदंड तय करना
Google Maps API दिशा-निर्देश सेवा, प्रभावित पते के परिणाम लौटाती है
उस डोमेन (क्षेत्र या देश) के हिसाब से जिससे आपने JavaScript लोड की थी
बूटस्ट्रैप. (क्योंकि ज़्यादातर उपयोगकर्ता https://maps.googleapis.com/
लोड करते हैं
तो अमेरिका के लिए एक इंप्लिसिट डोमेन सेट कर दिया जाता है.) यदि आप
किसी दूसरे काम करने वाले डोमेन से बूटस्ट्रैप करें, आपको नतीजे मिलेंगे
उस डोमेन से प्रभावित होते हैं. उदाहरण के लिए, "नई दिल्ली" के लिए की गई खोजें मई
ऐप्स लोड होने से भिन्न परिणाम दिखाएं
एक से ज़्यादा https://maps.googleapis.com/
(संयुक्त राज्य अमेरिका)
http://maps.google.es/
(स्पेन).
आप पक्षपातपूर्ण परिणाम लौटाने के लिए दिशा-निर्देश सेवा को भी सेट कर सकते हैं
region
पैरामीटर का इस्तेमाल करके, इमेज के किसी खास हिस्से को हाइलाइट करें. यह पैरामीटर
क्षेत्र का कोड लेता है, जिसे दो-वर्ण (गैर-संख्यात्मक) यूनिकोड के रूप में बताया जाता है
क्षेत्र सब-टैग. ज़्यादातर मामलों में, ये टैग सीधे ccTLD ("टॉप-लेवल
डोमेन") जैसे दो वर्ण वाले मान, जैसे कि "uk" "co.uk" में उदाहरण के लिए. कुछ
मामलों में, region
टैग ISO-3166-1 कोड के साथ भी काम करता है, जो
कभी-कभी यह ccTLD वैल्यू से अलग होता है. उदाहरण के लिए, "ग्रेट ब्रिटेन" के लिए "GB".
region
पैरामीटर का इस्तेमाल करते समय:
- सिर्फ़ एक देश या इलाके के बारे में बताएं. एक से ज़्यादा वैल्यू को अनदेखा किया जाता है और हो सकता है कि अनुरोध पूरा न हो पाए.
- सिर्फ़ दो वर्ण वाले क्षेत्र सब-टैग (यूनिकोड CLDR फ़ॉर्मैट) का इस्तेमाल करें. अन्य सभी इनपुट के कारण गड़बड़ियां हो सकती हैं.
क्षेत्र के आधार पर भेदभाव करने की सुविधा सिर्फ़ उन देशों और इलाकों के लिए काम करती है जो निर्देश. Google Maps Platform के कवरेज की जानकारी देखें देखें.
रेंडर करने के दिशा-निर्देश
इसके लिए एक निर्देश अनुरोध भेजना
route()
तरीके का इस्तेमाल करके DirectionsService
इसके लिए कॉलबैक की ज़रूरत होती है, जो
सेवा अनुरोध. यह कॉलबैक
DirectionsResult
और DirectionsStatus
कोड मौजूद है.
निर्देश पाने के लिए क्वेरी की स्थिति
DirectionsStatus
ये वैल्यू दिखा सकता है:
OK
बताता है कि जवाब में मान्यDirectionsResult
.NOT_FOUND
अनुरोध की शुरुआत की जगह, मंज़िल या वेपॉइंट को जियोकोड नहीं किया जा सका.ZERO_RESULTS
बताता है कि कोई रास्ता नहीं मिला शुरुआत की जगह और मंज़िल के बीच में जोड़ें.MAX_WAYPOINTS_EXCEEDED
ने इसका भी संकेत दिया कईDirectionsWaypoint
फ़ील्ड दिए गए थेDirectionsRequest
में. नीचे दिया गया सेक्शन देखें वे पॉइंट के लिए सीमाएं भी सेट करनी चाहिए.MAX_ROUTE_LENGTH_EXCEEDED
अनुरोध किए गए रास्ते के बारे में बताता है बहुत लंबा है और इसे प्रोसेस नहीं किया जा सकता. यह गड़बड़ी तब होती है, जब रास्ते की जानकारी दी जाती है. वेपॉइंट, मुड़ने की संख्या, और या निर्देशों का पालन करें.INVALID_REQUEST
से पता चलता है कि दी गईDirectionsRequest
अमान्य थी. सबसे ज़्यादा खाया गया खाना इस गड़बड़ी कोड की वजहें वे अनुरोध हैं जिनमें शुरुआत की जगह या मंज़िल या बस, मेट्रो वगैरह का अनुरोध जिसमें वेपॉइंट शामिल हों.OVER_QUERY_LIMIT
से पता चलता है कि वेबपेज पर तय समयावधि में बहुत ज़्यादा अनुरोध भेजे गए.REQUEST_DENIED
से पता चलता है कि वेबपेज दिशा-निर्देश सेवा का इस्तेमाल करने की अनुमति नहीं है.UNKNOWN_ERROR
, निर्देश पाने के लिए किए गए अनुरोध के बारे में बताता है सर्वर की गड़बड़ी की वजह से, प्रोसेस नहीं किया जा सका. अनुरोध फिर से कोशिश करें.
आपको यह पक्का करना चाहिए कि निर्देश से जुड़ी क्वेरी में मान्य नतीजे मिले परिणाम को प्रोसेस करने से पहले इस मान की जाँच करके परिणाम दिखाता है.
दिशा-निर्देशों के नतीजे दिखाए जा रहे हैं
DirectionsResult
में
निर्देश क्वेरी का इस्तेमाल करें, जिसे खुद से हैंडल किया जा सकता है या
DirectionsRenderer
ऑब्जेक्ट में ट्रांसफ़र किया जा सकता है, जो यह कर सकता है:
मैप पर नतीजे दिखाने की सुविधा को अपने-आप मैनेज कर सकता है.
कार्ड का इस्तेमाल करके DirectionsResult
को दिखाने के लिए
DirectionsRenderer
, आपको यह काम करना होगा
फ़ॉलो किया जा रहा है:
DirectionsRenderer
ऑब्जेक्ट बनाएं.- बाइंड करने के लिए, रेंडरर पर
setMap()
को कॉल करें उसे पास किए गए मैप पर ले जाते हैं. - रेंडरर पर
setDirections()
को कॉल करें, जैसा कि बताया गया है,DirectionsResult
को पास करना पढ़ें. रेंडरर एकMVCObject
है, यह अपनी प्रॉपर्टी में होने वाले किसी भी बदलाव का पता अपने-आप लगा लेगा और मैप को तब अपडेट करें, जब उससे जुड़े निर्देश बदल दिया गया है.
नीचे दिए गए उदाहरण में, एक से दूसरी जगह जाने के लिए निर्देश दिए गए हैं
रूट 66 पर दो जगहों की जानकारी, जहां शुरुआत की जगह और मंज़िल की जानकारी
दिए गए "start"
और "end"
से सेट किए जाते हैं
ड्रॉपडाउन सूचियों में मान. DirectionsRenderer
यहां दी गई लाइन के बीच में पॉलीलाइन दिखाने का तरीका हैंडल करता है
और मार्कर की शुरुआत की जगह पर
और वेपॉइंट, अगर लागू हो.
function initMap() { var directionsService = new google.maps.DirectionsService(); var directionsRenderer = new google.maps.DirectionsRenderer(); var chicago = new google.maps.LatLng(41.850033, -87.6500523); var mapOptions = { zoom:7, center: chicago } var map = new google.maps.Map(document.getElementById('map'), mapOptions); directionsRenderer.setMap(map); } function calcRoute() { var start = document.getElementById('start').value; var end = document.getElementById('end').value; var request = { origin: start, destination: end, travelMode: 'DRIVING' }; directionsService.route(request, function(result, status) { if (status == 'OK') { directionsRenderer.setDirections(result); } }); }
एचटीएमएल के मुख्य भाग में:
<div> <strong>Start: </strong> <select id="start" onchange="calcRoute();"> <option value="chicago, il">Chicago</option> <option value="st louis, mo">St Louis</option> <option value="joplin, mo">Joplin, MO</option> <option value="oklahoma city, ok">Oklahoma City</option> <option value="amarillo, tx">Amarillo</option> <option value="gallup, nm">Gallup, NM</option> <option value="flagstaff, az">Flagstaff, AZ</option> <option value="winona, az">Winona</option> <option value="kingman, az">Kingman</option> <option value="barstow, ca">Barstow</option> <option value="san bernardino, ca">San Bernardino</option> <option value="los angeles, ca">Los Angeles</option> </select> <strong>End: </strong> <select id="end" onchange="calcRoute();"> <option value="chicago, il">Chicago</option> <option value="st louis, mo">St Louis</option> <option value="joplin, mo">Joplin, MO</option> <option value="oklahoma city, ok">Oklahoma City</option> <option value="amarillo, tx">Amarillo</option> <option value="gallup, nm">Gallup, NM</option> <option value="flagstaff, az">Flagstaff, AZ</option> <option value="winona, az">Winona</option> <option value="kingman, az">Kingman</option> <option value="barstow, ca">Barstow</option> <option value="san bernardino, ca">San Bernardino</option> <option value="los angeles, ca">Los Angeles</option> </select> </div>
नीचे दिए गए उदाहरण में अलग-अलग हैट-ऐशबरी से ओशन बीच तक यात्रा के कई साधन सैन फ़्रांसिस्को, कैलिफ़ोर्निया:
function initMap() { var directionsService = new google.maps.DirectionsService(); var directionsRenderer = new google.maps.DirectionsRenderer(); var haight = new google.maps.LatLng(37.7699298, -122.4469157); var oceanBeach = new google.maps.LatLng(37.7683909618184, -122.51089453697205); var mapOptions = { zoom: 14, center: haight } var map = new google.maps.Map(document.getElementById('map'), mapOptions); directionsRenderer.setMap(map); } function calcRoute() { var selectedMode = document.getElementById('mode').value; var request = { origin: haight, destination: oceanBeach, // Note that JavaScript allows us to access the constant // using square brackets and a string value as its // "property." travelMode: google.maps.TravelMode[selectedMode] }; directionsService.route(request, function(response, status) { if (status == 'OK') { directionsRenderer.setDirections(response); } }); }
एचटीएमएल के मुख्य भाग में:
<div> <strong>Mode of Travel: </strong> <select id="mode" onchange="calcRoute();"> <option value="DRIVING">Driving</option> <option value="WALKING">Walking</option> <option value="BICYCLING">Bicycling</option> <option value="TRANSIT">Transit</option> </select> </div>
DirectionsRenderer
न सिर्फ़ डिसप्ले हैंडल करता है
और उससे जुड़े मार्कर का इस्तेमाल करती हैं, लेकिन इन्हें हैंडल भी कर सकती हैं
निर्देशों को टेक्स्ट के तौर पर, चरणों की सीरीज़ के तौर पर दिखाया गया है. ऐसा करें
तो, अपने इस नंबर पर setPanel()
को कॉल करें
DirectionsRenderer
की वजह से, इसे
<div>
जिसमें यह जानकारी दिखाना है.
ऐसा करने से, यह भी पक्का हो जाता है कि आपके पास सही कॉपीराइट वाला कॉन्टेंट है
और ऐसी कोई चेतावनी दी जा सकती है जो
नतीजा.
टेक्स्ट के तौर पर निर्देश, ब्राउज़र के
पसंदीदा भाषा सेटिंग, या तब
language
का इस्तेमाल करके, एपीआई JavaScript लोड करना
पैरामीटर. (ज़्यादा जानकारी के लिए,
स्थानीय भाषा के अनुसार.) ट्रांज़िट दिशानिर्देशों के मामले में, समय
उस ट्रांज़िट स्टॉप के टाइम ज़ोन में दिखाया जाएगा.
नीचे दिया गया उदाहरण, ऊपर दिखाए गए उदाहरण जैसा है,
लेकिन इसमें एक <div>
पैनल शामिल होता है, जिसमें
दिशा-निर्देश दिखाएं:
function initMap() { var directionsService = new google.maps.DirectionsService(); var directionsRenderer = new google.maps.DirectionsRenderer(); var chicago = new google.maps.LatLng(41.850033, -87.6500523); var mapOptions = { zoom:7, center: chicago } var map = new google.maps.Map(document.getElementById('map'), mapOptions); directionsRenderer.setMap(map); directionsRenderer.setPanel(document.getElementById('directionsPanel')); } function calcRoute() { var start = document.getElementById('start').value; var end = document.getElementById('end').value; var request = { origin:start, destination:end, travelMode: 'DRIVING' }; directionsService.route(request, function(response, status) { if (status == 'OK') { directionsRenderer.setDirections(response); } }); }
एचटीएमएल के मुख्य भाग में:
<div id="map" style="float:left;width:70%;height:100%"></div> <div id="directionsPanel" style="float:right;width:30%;height:100%"></div>
दिशा-निर्देश के नतीजे का ऑब्जेक्ट
दिशा-निर्देशों का अनुरोध भेजते समय
DirectionsService
, आपको जवाब मिलता है इसमें ये चीज़ें शामिल होती हैं
स्टेटस कोड और नतीजा होता है, जो कि DirectionsResult
होता है
ऑब्जेक्ट है. DirectionsResult
, एक लिटरल वैल्यू है
इसमें ये फ़ील्ड शामिल होंगे:
geocoded_waypoints[]
मेंDirectionsGeocodedWaypoint
ऑब्जेक्ट, हर एक में शामिल है शुरुआत की जगह, मंज़िल, और वेपॉइंट के जियोकोडिंग के बारे में जानकारी.routes[]
मेंDirectionsRoute
ऑब्जेक्ट. हर रास्ता एक रास्ता दिखाता है. शुरुआत की जगह से मंज़िल तक पहुंचने के लिए,DirectionsRequest
. आम तौर पर, सिर्फ़ एक रास्ता किसी निश्चित अनुरोध के लिए लौटाया जाता है, जब तक कि अनुरोधprovideRouteAlternatives
फ़ील्ड को इस पर सेट किया गया हैtrue
, जिसमें एक से ज़्यादा रास्ते दिखाए जा सकते हैं.
ध्यान दें: via_waypoint
प्रॉपर्टी अब काम नहीं करती
पर भी हैं. वर्शन 3.27, एपीआई का आखिरी वर्शन है. इसमें वेपॉइंट के ज़रिए ज़्यादा सुविधाएं जोड़ी जाती हैं
पर भी हैं. एपीआई के 3.28 और इसके बाद वाले वर्शन के लिए, लागू करने का काम जारी रखा जा सकता है
वैकल्पिक मार्गों को खींचना अक्षम करके दिशानिर्देश सेवा का उपयोग करके खींचने योग्य दिशा-निर्देश.
सिर्फ़ मुख्य रास्ते को एक जगह से दूसरी जगह ले जाया जा सकता है. उपयोगकर्ता मुख्य रास्ते को तब तक खींच सकते हैं, जब तक कि वह
कोई दूसरा रास्ता नहीं दिखेगा.
दिशा-निर्देश जियोकोड किया गया वेपॉइंट
DirectionsGeocodedWaypoint
में इसकी जियोकोडिंग के बारे में विवरण है
शुरुआत की जगह, मंज़िल, और वेपॉइंट.
DirectionsGeocodedWaypoint
, एक ऐसा ऑब्जेक्ट है जो लिटरल वैल्यू है
ये फ़ील्ड शामिल होंगे:
geocoder_status
, जियोकोडिंग ऑपरेशन से मिले स्टेटस कोड के बारे में बताता है. इस फ़ील्ड में ये वैल्यू हो सकती हैं."OK"
से पता चलता है कि कोई गड़बड़ी नहीं हुई; पते को सफलतापूर्वक पार्स कर दिया गया था और कम से कम एक जियोकोड लौटाया गया."ZERO_RESULTS"
बताता है कि जियोकोड सफल रहा, लेकिन कोई नतीजा नहीं मिला. ऐसा तब हो सकता है, जब जियोकोडर को ऐसेaddress
से पास किया गया हो जो मौजूद नहीं है.
-
partial_match
बताता है कि जियोकोडर वापस नहीं आया मूल अनुरोध के लिए एग्ज़ैक्ट मैच है. हालांकि, यह किया गया है. हो सकता है कि आप गलत स्पेलिंग के लिए मूल अनुरोध और/या अधूरा पता.आंशिक मिलान अक्सर उन सड़क के पतों के लिए होते हैं जो मौजूद नहीं हैं उस मोहल्ला के भीतर जहां आपने अनुरोध किया है. 'कुछ हद तक मैच' वाले कीवर्ड भी हो सकते हैं जब कोई अनुरोध एक ही इलाके में दो या दो से ज़्यादा जगहों से मेल खाता है, तब दिखाया जाता है. उदाहरण के लिए, "Hillpar St, Bristol, UK" दोनों के लिए आंशिक मिलान देगा हेनरी स्ट्रीट और हेनरीएटा स्ट्रीट. ध्यान दें कि अगर किसी अनुरोध में गलत स्पेलिंग वाला पता कॉम्पोनेंट, जियोकोडिंग सेवा किसी अन्य विकल्प का सुझाव दे सकती है इससे पहले ही अपने कारोबार के हिसाब से [email protected] जैसा कोई ईमेल पता बनाएं. इस तरह ट्रिगर किए गए सुझावों को भी आंशिक तौर पर मार्क किया जाएगा मिलान.
place_id
किसी जगह का यूनीक आइडेंटिफ़ायर होता है. इसका इस्तेमाल किया जा सकता है के साथ काम करता है. उदाहरण के लिए,place_id
का इस्तेमाल किया जा सकता है Google स्थल के साथ एपीआई लाइब्रेरी का इस्तेमाल करके स्थानीय कारोबार के बारे में जानकारी मिलती है, जैसे कि फ़ोन नंबर, कारोबार के खुले होने का समय, उपयोगकर्ताओं की समीक्षाएं वगैरह. ज़्यादा जानकारी के लिए, जगह के आईडी की खास जानकारी.types[]
एक कलेक्शन है, जो वैल्यू के type को दिखाता है परिणाम मिला. इस अरे में, शून्य या उससे ज़्यादा ऐसे टैग का सेट है जो नतीजे में मिलने वाली सुविधा का टाइप. उदाहरण के लिए, "शिकागो" "जगह" दिखाता है जिससे पता चलता है कि "शिकागो" शहर है, और "राजनैतिक" भी दिखाता है जिससे पता चलता है कि यह एक राजनैतिक इकाई है.
दिशा-निर्देश मार्ग
ध्यान दें: लेगसी DirectionsTrip
ऑब्जेक्ट में
का नाम बदलकर DirectionsRoute
कर दिया गया है. ध्यान दें कि रूट
का मतलब है, अब सिर्फ़ सफ़र की शुरुआत से लेकर आखिरी तक
माता-पिता की यात्रा का एक हिस्सा.
DirectionsRoute
में यहां से एक नतीजा मिला है
का उपयोग करें. इस रास्ते में ये शामिल हो सकते हैं
एक या ज़्यादा पैर (DirectionsLeg
टाइप के)
यह इस बात पर निर्भर करता है कि कोई वेपॉइंट तय किया गया है या नहीं. साथ ही,
रूट में कॉपीराइट और चेतावनी की जानकारी भी शामिल है, जो
उपयोगकर्ता को रूटिंग जानकारी के अलावा दिखाया जाएगा.
DirectionsRoute
, एक ऐसा ऑब्जेक्ट है जो लिटरल वैल्यू है
ये फ़ील्ड शामिल होंगे:
legs[]
मेंDirectionsLeg
ऑब्जेक्ट, जिनमें से हर एक में शामिल है दो जगहों से, रास्ते के किसी हिस्से के बारे में जानकारी दिए गए रास्ते के अंदर दिखेंगे. हर सदस्य के लिए अलग पैर होगा वेपॉइंट या गंतव्य दर्ज किया गया. (बिना वेपॉइंट वाले रास्ते में सिर्फ़ एकDirectionsLeg
.) हर पैर मेंDirectionStep
की सीरीज़ में बनाया गया है.waypoint_order
में एक कलेक्शन है यह बताता है कि आपके दिए गए फ़ॉर्मूला के आधार पर तैयार किया गया रूट इस अरे में कोई बदला हुआ क्रम हो सकता है, अगरDirectionsRequest
पास हो गया थाoptimizeWaypoints: true
.overview_path
मेंLatLng
s जो अनुमानित (स्मूद) दिखाती हैं से मिलता-जुलता रास्ता मिल सकता है.overview_polyline
में एकpoints
मौजूद है वह ऑब्जेक्ट जिसमें कोड में बदला गया कोड मौजूद होता है पॉलीलाइन रूट को दिखाने के लिए. यह पॉलीलाइन एक अनुमानित (स्मूद) पाथ है चुनें.bounds
मेंLatLngBounds
शामिल है इस रूट पर पॉलीलाइन की सीमाओं को दिखाता है.copyrights
में कॉपीराइट टेक्स्ट शामिल है इस रास्ते के लिए प्रदर्शित किया गया.warnings[]
में चेतावनियों का कलेक्शन मौजूद है जब ये दिशानिर्देश दिखाए जा सकेंगे. अगर आपको दिए गएDirectionsRenderer
ऑब्जेक्ट का इस्तेमाल करना है, तो आपको इन चेतावनियों को खुद देख और देख सकते हैं.fare
में कुल किराया शामिल है (यानी कि कुल किराया टिकट की कीमत) तक पहुंचाता है. इस प्रॉपर्टी को सिर्फ़ ट्रांज़िट के लिए लौटाया जाता है सिर्फ़ ऐसे रास्तों के लिए अनुरोध करता है जहां किराये की जानकारी सभी ट्रांज़िट लेग. इस जानकारी में ये चीज़ें शामिल होती हैं:currency
: अगर ISO 4217 मुद्रा कोड से पता चलता है कि रकम किस मुद्रा में दिखाई गई है.value
: बताई गई मुद्रा में कुल किराये की रकम पढ़ें.
दिशा-निर्देश लेग
ध्यान दें: लेगसी DirectionsRoute
ऑब्जेक्ट में
का नाम बदलकर DirectionsLeg
कर दिया गया है.
DirectionsLeg
,
तय किए गए रूट में, शुरुआत की जगह से मंज़िल तक की यात्रा.
बिना वेपॉइंट वाले रास्तों के लिए, रास्ते में एक
सिंगल "लेग", लेकिन एक या एक से ज़्यादा वेपॉइंट तय करने वाले रूट के लिए,
मार्ग में एक या उससे ज़्यादा पैर होंगे, जो
कुछ चरणों को पूरा किया जा सकता है.
DirectionsLeg
, एक ऐसा ऑब्जेक्ट है जो
ये फ़ील्ड शामिल होते हैं:
steps[]
मेंDirectionsStep
ऑब्जेक्ट, जिनके बारे में जानकारी दे रहा है यात्रा के हर चरण को अलग-अलग चरणों में पूरा करता है.distance
से पता चलता है कि कुल दूरी कितनी है इस पैर से,Distance
नीचे दिया गया फ़ॉर्म:value
मीटर में दूरी बताता हैtext
में स्ट्रिंग के रूप में दिखाया गया डेटा शामिल है दूरी की, जो डिफ़ॉल्ट रूप से इकाइयों में का इस्तेमाल किया गया है. (उदाहरण के लिए, मील का इस्तेमाल इनके लिए किया जाएगा किसी भी ऑरिजिन के लिए यह सुविधा देता है.) आप इसे ओवरराइड कर सकते हैं यूनिट सिस्टम को ख़ास तौर पर ओरिजनल क्वेरी मेंUnitSystem
. ध्यान दें कि चाहे आप किसी भी यूनिट सिस्टम का इस्तेमाल करें,distance.value
फ़ील्ड में हमेशा एक वैल्यू होती है मीटर में.
अगर दूरी की जानकारी नहीं है, तो हो सकता है कि इन फ़ील्ड के बारे में जानकारी न हो.
duration
से पता चलता है कि यह पैर,Duration
ऑब्जेक्ट के तौर पर यह फ़ॉर्म:value
से पता चलता है कि अवधि सेकंड.text
में स्ट्रिंग के रूप में दिखाया गया डेटा शामिल है अवधि की एक अवधि है.
अगर अवधि की जानकारी नहीं है, तो ये फ़ील्ड तय नहीं हो सकते.
duration_in_traffic
से पता चलता है कि यह सुविधा कुल कितने समय तक चलेगी ट्रैफ़िक की मौजूदा स्थितियों को ध्यान में रखते हुए. कॉन्टेंट बनानेduration_in_traffic
सिर्फ़ तब दिखता है, जब: सही हैं:- अनुरोध में स्टॉपओवर वेपॉइंट शामिल नहीं होते. इसका मतलब यह नहीं है कि
जहां
stopover
,true
है, वहां वेपॉइंट शामिल हैं. - यह अनुरोध खास तौर पर ड्राइविंग दिशा-निर्देशों के लिए है—
mode
कोdriving
पर सेट किया गया. departureTime
को अनुरोध मेंdrivingOptions
फ़ील्ड है.- अनुरोध किए गए रास्ते के लिए ट्रैफ़िक का हाल उपलब्ध है.
duration_in_traffic
में ये फ़ील्ड शामिल होते हैं:value
, कुल समय को सेकंड में दिखाता है.text
में ऐसा कॉन्टेंट मौजूद है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है अवधि की एक अवधि है.
- अनुरोध में स्टॉपओवर वेपॉइंट शामिल नहीं होते. इसका मतलब यह नहीं है कि
जहां
arrival_time
में पहुंचने का अनुमानित समय है इस पैर के लिए. यह प्रॉपर्टी सिर्फ़ परिवहन के निर्देशों के लिए दिखाई जाती है. कॉन्टेंट बनाने नतीजा, तीन प्रॉपर्टी के साथTime
ऑब्जेक्ट के तौर पर दिखाया जाता है:- JavaScript के तौर पर बताए गए समय को
value
Date
ऑब्जेक्ट. - स्ट्रिंग के तौर पर दिए गए समय को
text
करें. समय है ट्रांज़िट स्टॉप के टाइम ज़ोन में दिखाया जाता है. time_zone
में इस स्टेशन का समय क्षेत्र है. कॉन्टेंट बनाने वैल्यू, टाइम ज़ोन का नाम है, जैसा कि IANA समय क्षेत्र डेटाबेस, उदाहरण "अमेरिका/New_York".
- JavaScript के तौर पर बताए गए समय को
departure_time
में इस समय के लिए प्रस्थान का अनुमानित समय है यह हिस्सा,Time
ऑब्जेक्ट के तौर पर बताया गया है. कॉन्टेंट बनानेdeparture_time
केवल ट्रांज़िट दिशानिर्देश के लिए उपलब्ध है.start_location
में इस पैर की शुरुआत काLatLng
. क्योंकि निर्देश वेब सेवा स्थानों के बीच दिशा-निर्देशों की गणना करती है सबसे नज़दीक के परिवहन विकल्प (आमतौर पर एक सड़क) का उपयोग करकेstart_location
के बीच में यह इस पैर के बताए गए मूल से अलग है, अगर उदाहरण के लिए, कोई सड़क मूल जगह के आस-पास नहीं है.end_location
मेंLatLng
शामिल है पैर के गंतव्य के साथ. क्योंकिDirectionsService
, जगहों के बीच दिशा-निर्देशों की गणना करता है सबसे नज़दीक के परिवहन विकल्प (आमतौर पर एक सड़क) का उपयोग करके शुरुआती और आखिरी पॉइंट,end_location
यह इस लेग के दिए गए गंतव्य से अलग है, अगर उदाहरण के लिए, सड़क गंतव्य के पास नहीं है.start_address
में ऐसा पता मौजूद है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है (आम तौर पर मोहल्ले का पता).
इस कॉन्टेंट को उसी तरह पढ़ा जाना चाहिए. प्रोग्राम के रूप में GA4 में फ़ॉर्मैट किया गया पता.end_address
में ऐसा पता मौजूद है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है (आम तौर पर मोहल्ले का पता) लिखें.
इस कॉन्टेंट को उसी तरह पढ़ा जाना चाहिए. प्रोग्राम के रूप में GA4 में फ़ॉर्मैट किया गया पता.
दिशा-निर्देशों के चरण
सबसे ज़्यादा परमाणु इकाई DirectionsStep
है
दिशा का रास्ता, जिसमें एक चरण के साथ किसी खास,
निर्देश दिए गए हों. उदाहरण के लिए, "W पर बाएं मुड़ें. फ़ोर्थ स्ट्रीट" वह चरण जो नहीं है
यह सिर्फ़ निर्देश के बारे में बताता है. हालांकि, इसमें दूरी और कुल समय की जानकारी भी शामिल है
यहां दी गई जानकारी देखें.
उदाहरण के लिए, "I-80 पश्चिम पर मर्ज करें" के तौर पर दिखाया गया चरण इसमें एक
"37 मील" की अवधि और "40 मिनट," इससे पता चलता है कि अगले चरण में
इस कदम से 37 मील/40 मिनट दूर है.
ट्रांज़िट दिशानिर्देश खोजने के लिए दिशा-निर्देश सेवा का उपयोग करते समय,
चरणों के अरे में अतिरिक्त ट्रांज़िट शामिल होगा
transit
ऑब्जेक्ट के तौर पर, खास जानकारी. अगर आपने
दिशा-निर्देशों में परिवहन के कई साधन और पूरी जानकारी शामिल है
steps[]
कलेक्शन में, पैदल चलने या गाड़ी चलाने के लिए दी जाएगी.
उदाहरण के लिए, पैदल चलने के चरण में शुरू और आखिर तक के दिशा-निर्देश शामिल होंगे
जगह की जानकारी: "पैदल चलकर इनस ऐवेन्यू और फ़िच सेंट". इस चरण में,
steps[]
में उस रास्ते के पैदल चलने के दिशा-निर्देश
अरे, उदाहरण के लिए: " खातों को उत्तर-पश्चिम की ओर ले जाएं", "अरेलिअस वॉकर पर बाएं मुड़ें", और
"Innes Ave पर बाएं मुड़ें".
DirectionsStep
, एक ऐसा ऑब्जेक्ट है जो
ये फ़ील्ड शामिल होते हैं:
instructions
में इस चरण के लिए निर्देश दिए गए हैं डालें.distance
में इससे तय की गई दूरी है अगले चरण तक सीमित है,Distance
ऑब्जेक्ट के तौर पर. (ब्यौरा देखें ऊपरDirectionsLeg
में.) इस फ़ील्ड के बारे में जानकारी नहीं हो सकती अगर दूरी की जानकारी नहीं है.duration
में अनुमानित समय होता है अगले चरण तक पहुंचने तक,Duration
ऑब्जेक्ट. (में दी गई जानकारी देखेंDirectionsLeg
above.) इस फ़ील्ड के बारे में जानकारी नहीं हो सकती अगर अवधि की जानकारी नहीं है.start_location
में जियोकोड किया गया शामिल है इस चरण के शुरुआती पॉइंट काLatLng
.end_location
में इसकाLatLng
शामिल है इस चरण का आखिरी पॉइंट.polyline
में एकpoints
मौजूद है वह ऑब्जेक्ट जिसमें कोड में बदला गया कोड मौजूद होता है पॉलीलाइन में चरण के बारे में बताया गया है. यह पॉलीलाइन एक अनुमानित (स्मूद) पाथ है चरण पूरा करें.steps[]
एकDirectionsStep
ऑब्जेक्ट की लिटरल वैल्यू ट्रांज़िट में पैदल चलने या ड्राइविंग के चरणों के लिए विस्तृत दिशा निर्देश शामिल हैं निर्देश. सब-स्टेप की सुविधा, सिर्फ़ बस, मेट्रो वगैरह के रास्ते के लिए उपलब्ध है.travel_mode
मेंTravelMode
शामिल है यह चरण पूरा करें. ट्रांज़िट दिशानिर्देश में पैदल और बस, मेट्रो वगैरह के रास्ते के लिए निर्देश.path
मेंLatLngs
का एक कलेक्शन होता है, जो बताता है कि .transit
में बस, मेट्रो वगैरह से जुड़ी खास जानकारी होती है, जैसे कि पहुंचने का समय और रवानगी का समय, और ट्रांज़िट लाइन का नाम.
सार्वजनिक परिवहन के बारे में खास जानकारी
बस, मेट्रो वगैरह के रास्ते के लिए ऐसी अतिरिक्त जानकारी मिलती है जो काम की नहीं है
परिवहन के अन्य साधन हैं. ये अन्य प्रॉपर्टी दिखाई गई हैं
TransitDetails
ऑब्जेक्ट के ज़रिए, इसकी प्रॉपर्टी के तौर पर लौटाया जाता है
DirectionsStep
. TransitDetails
ऑब्जेक्ट से
तो आपको TransitStop
की अतिरिक्त जानकारी का ऐक्सेस मिलेगा,
TransitLine
, TransitAgency
, और
VehicleType
ऑब्जेक्ट हैं, जैसा नीचे बताया गया है.
ट्रांज़िट विवरण
TransitDetails
ऑब्जेक्ट यह जानकारी देता है
प्रॉपर्टी:
arrival_stop
में शामिल हैTransitStop
ऑब्जेक्ट जो आने वाले स्टेशन/स्टॉप की जानकारी देता है प्रॉपर्टी:- बस, मेट्रो वगैरह के स्टेशन/स्टॉप का नाम
name
. जैसे "यूनियन स्क्वेयर". - बस, मेट्रो वगैरह के स्टेशन/स्टॉप की जगह
location
,LatLng
के तौर पर दिखाया जाता है.
- बस, मेट्रो वगैरह के स्टेशन/स्टॉप का नाम
departure_stop
में एकTransitStop
शामिल है जाने के स्टेशन/स्टॉप को दिखाने वाला ऑब्जेक्ट.arrival_time
में पहुंचने का समय होता है, जिसे तीन प्रॉपर्टी वालाTime
ऑब्जेक्ट:- JavaScript के तौर पर बताए गए समय को
value
Date
ऑब्जेक्ट. - स्ट्रिंग के तौर पर दिए गए समय को
text
करें. समय है ट्रांज़िट स्टॉप के टाइम ज़ोन में दिखाया जाता है. time_zone
में इस स्टेशन का समय क्षेत्र है. कॉन्टेंट बनाने वैल्यू, टाइम ज़ोन का नाम है, जैसा कि IANA समय क्षेत्र डेटाबेस, उदाहरण "अमेरिका/New_York".
- JavaScript के तौर पर बताए गए समय को
departure_time
में जाने का समय शामिल है, जिसेTime
ऑब्जेक्ट.headsign
यह बताता है कि किस दिशा में यात्रा करनी है लाइन मैप करें, क्योंकि यह वाहन पर या जाने के स्टॉप पर मार्क है. अक्सर यह टर्मिनस स्टेशन होगा.headway
उपलब्ध होने पर, यह अनुमानित संख्या बताता है इस समय उसी स्टॉप से जाने वाली फ़्लाइट के बीच सेकंड का समय. इसके लिए उदाहरण के लिए,headway
की वैल्यू 600 होने पर, आपको दस अगर आपकी बस छूट सकती है, तो एक मिनट इंतज़ार करें.line
में एकTransitLine
शामिल है ऑब्जेक्ट लिटरल, जिसमें इस्तेमाल की गई ट्रांज़िट लाइन के बारे में जानकारी है यह चरण पूरा करें.TransitLine
, इसका नाम और ऑपरेटर बताता है इसके साथ ही, इस लाइन में बताई गई अन्य प्रॉपर्टी भी शामिल हैं.TransitLine
देखें.num_stops
में इस चरण में स्टॉप की संख्या शामिल है. इसमें आने का स्टॉप शामिल है, लेकिन जाने का स्टॉप नहीं. उदाहरण के लिए, अगर आपके निर्देशों में स्टॉप A से जाना, स्टॉप B से गुजरना और C और स्टॉप D पर पहुंचने पर,num_stops
का मान 3 होगा.
ट्रांज़िट लाइन
TransitLine
ऑब्जेक्ट इन प्रॉपर्टी को दिखाता है:
name
में इस ट्रांज़िट लाइन का पूरा नाम है. उदाहरण "7 एवेन्यू एक्सप्रेस" या "14th सेंट क्रॉसटाउन".short_name
में इस ट्रांज़िट का छोटा नाम शामिल है लाइन. आम तौर पर, यह एक लाइन नंबर होगा, जैसे कि "2" या "M14".agencies
एक कलेक्शन है, जिसमें एक कॉलम मेंTransitAgency
ऑब्जेक्ट.TransitAgency
ऑब्जेक्ट इस लाइन के ऑपरेटर के बारे में जानकारी देता है. इसमें ये प्रॉपर्टी:name
में सार्वजनिक परिवहन एजेंसी का नाम होता है.phone
में ट्रांज़िट का फ़ोन नंबर शामिल है एजेंसी.url
में ट्रांसपोर्ट एजेंसी का यूआरएल होता है.
ध्यान दें: अगर मैन्युअल तरीके से बस, मेट्रो वगैरह के रास्ते के लिए दिशा-निर्देश रेंडर किए जा रहे हैं
DirectionsRenderer
ऑब्जेक्ट का इस्तेमाल करने के बजाय, आपको यात्रा की सेवा देने वाली ट्रांसपोर्ट एजेंसियों के नाम और उनके यूआरएल दिखाएं नतीजे.url
में इस ट्रांज़िट लाइन का यूआरएल दिया गया है की पहचान की है.icon
में इस लाइन से जुड़े आइकॉन का यूआरएल होता है. ज़्यादातर शहरों में ऐसे सामान्य आइकॉन इस्तेमाल किए जाएंगे जो वाहनों के टाइप के हिसाब से अलग-अलग होते हैं. कुछ सूचनाएं मिल रही हैं बस, मेट्रो वगैरह का रूट मैप, जैसे कि न्यूयॉर्क सबवे सिस्टम के आइकॉन के लिए खास तौर पर वह पंक्ति.color
में आम तौर पर, इसके लिए साइनेज में इस्तेमाल होने वाला रंग शामिल होता है बस, मेट्रो वगैरह. रंग को हेक्स स्ट्रिंग के रूप में तय किया जाएगा, जैसे: #FF0033.text_color
में उस टेक्स्ट का रंग होता है जिसका इस्तेमाल आम तौर पर किया जाता है इस लाइन का साइनेज. रंग को हेक्स स्ट्रिंग के तौर पर दिखाया जाएगा.vehicle
में एकVehicle
ऑब्जेक्ट है, जो इसमें ये प्रॉपर्टी शामिल होती हैं:name
में इस लाइन पर मौजूद वाहन का नाम होता है. जैसे "सबवे."type
में इस लाइन पर इस्तेमाल किए गए वाहन की जानकारी मौजूद है. वाहन के टाइप से जुड़ा दस्तावेज़ देखें इस्तेमाल की जा सकने वाली वैल्यू की पूरी सूची.icon
में उस आइकॉन का यूआरएल होता है जो आम तौर पर इससे जुड़ा होता है जा सकते हैं.local_icon
में, इससे जुड़े आइकॉन का यूआरएल शामिल है स्थानीय परिवहन साइन बोर्ड के आधार पर इस तरह का वाहन चुनें.
वाहन किस तरह का है
VehicleType
ऑब्जेक्ट यह जानकारी देता है
प्रॉपर्टी:
मान | परिभाषा |
---|---|
VehicleType.RAIL |
रेल. |
VehicleType.METRO_RAIL |
लाइट रेल ट्रांज़िट. |
VehicleType.SUBWAY |
अंडरग्राउंड लाइट रेल. |
VehicleType.TRAM |
ज़मीन पर लगी लाइट रेल के ऊपर. |
VehicleType.MONORAIL |
मोनोरेल. |
VehicleType.HEAVY_RAIL |
भारी रेल. |
VehicleType.COMMUTER_TRAIN |
कम्यूटर रेल. |
VehicleType.HIGH_SPEED_TRAIN |
हाई स्पीड ट्रेन. |
VehicleType.BUS |
बस. |
VehicleType.INTERCITY_BUS |
एक से दूसरे शहर जाने वाली बस. |
VehicleType.TROLLEYBUS |
ट्रॉली बस. |
VehicleType.SHARE_TAXI |
शेयर टैक्सी एक ऐसी बस है जिसमें ड्रॉप करने और पिक अप करने की सुविधा होती है की यात्रा के दौरान यात्रा करने वालों की संख्या बढ़ाई जा सकती है. |
VehicleType.FERRY |
फ़ेरी. |
VehicleType.CABLE_CAR |
ऐसा वाहन जो केबल की मदद से, आम तौर पर ज़मीन पर चलता है. एरियल केबल
कारें VehicleType.GONDOLA_LIFT टाइप की हो सकती हैं. |
VehicleType.GONDOLA_LIFT |
हवाई केबल कार. |
VehicleType.FUNICULAR |
ऐसा वाहन जिसे केबल की मदद से काफ़ी ढाला जा रहा हो. फ़्यूनिक्यूलर आम तौर पर, इसमें दो कारें होती हैं. हर कार का वज़न काउंटर के हिसाब से होता है अन्य के लिए. |
VehicleType.OTHER |
बाकी सभी वाहन इस तरह के दिखेंगे. |
निर्देशों के नतीजों की जांच की जा रही है
DirectionsResults
कॉम्पोनेंट —
DirectionsRoute
, DirectionsLeg
,
DirectionsStep
और TransitDetails
— हो सकता है
निरीक्षण किया गया और किसी भी दिशा-निर्देश के जवाब को पार्स करते समय इस्तेमाल किया जाता है.
अहम जानकारी: अगर आपने बस, मेट्रो वगैरह को रेंडर किया है, तो
DirectionsRenderer
का इस्तेमाल करने के बजाय, मैन्युअल तरीके से निर्देश दें
ऑब्जेक्ट है, तो आपको ट्रांज़िट एजेंसियों के नाम और URL दिखाने होंगे
यात्रा के नतीजे उपलब्ध कराना.
नीचे दिए गए उदाहरण में कुछ पर्यटकों के लिए पैदल चलने की जानकारी दिखाई गई है
दिल्ली में घूमने-फिरने की बेहतरीन जगहें. हम रूट की जांच
हर चरण के लिए मार्कर जोड़ने के लिए DirectionsStep
और
InfoWindow
में जानकारी अटैच करने के लिए, इंस्ट्रक्शनल होने का तरीका
टेक्स्ट डालें.
ध्यान दें: हम पैदल जाने के लिए दिशा-निर्देशों का हिसाब लगा रहे हैं. इसलिए, हम इन्हें
किसी अलग <div>
पैनल में, उपयोगकर्ता को मिलने वाली किसी भी चेतावनी के बारे में बताएं.
var map; var directionsRenderer; var directionsService; var stepDisplay; var markerArray = []; function initMap() { // Instantiate a directions service. directionsService = new google.maps.DirectionsService(); // Create a map and center it on Manhattan. var manhattan = new google.maps.LatLng(40.7711329, -73.9741874); var mapOptions = { zoom: 13, center: manhattan } map = new google.maps.Map(document.getElementById('map'), mapOptions); // Create a renderer for directions and bind it to the map. var rendererOptions = { map: map } directionsRenderer = new google.maps.DirectionsRenderer(rendererOptions) // Instantiate an info window to hold step text. stepDisplay = new google.maps.InfoWindow(); } function calcRoute() { // First, clear out any existing markerArray // from previous calculations. for (i = 0; i < markerArray.length; i++) { markerArray[i].setMap(null); } // Retrieve the start and end locations and create // a DirectionsRequest using WALKING directions. var start = document.getElementById('start').value; var end = document.getElementById('end').value; var request = { origin: start, destination: end, travelMode: 'WALKING' }; // Route the directions and pass the response to a // function to create markers for each step. directionsService.route(request, function(response, status) { if (status == "OK") { var warnings = document.getElementById("warnings_panel"); warnings.innerHTML = "" + response.routes[0].warnings + ""; directionsRenderer.setDirections(response); showSteps(response); } }); } function showSteps(directionResult) { // For each step, place a marker, and add the text to the marker's // info window. Also attach the marker to an array so we // can keep track of it and remove it when calculating new // routes. var myRoute = directionResult.routes[0].legs[0]; for (var i = 0; i < myRoute.steps.length; i++) { var marker = new google.maps.Marker({ position: myRoute.steps[i].start_point, map: map }); attachInstructionText(marker, myRoute.steps[i].instructions); markerArray[i] = marker; } } function attachInstructionText(marker, text) { google.maps.event.addListener(marker, 'click', function() { stepDisplay.setContent(text); stepDisplay.open(map, marker); }); }
एचटीएमएल के मुख्य भाग में:
<div>
<strong>Start: </strong>
<select id="start">
<option value="penn station, new york, ny">Penn Station</option>
<option value="grand central station, new york, ny">Grand Central Station</option>
<option value="625 8th Avenue New York NY 10018">Port Authority Bus Terminal</option>
<option value="staten island ferry terminal, new york, ny">Staten Island Ferry Terminal</option>
<option value="101 E 125th Street, New York, NY">Harlem - 125th St Station</option>
</select>
<strong>End: </strong>
<select id="end" onchange="calcRoute();">
<option value="260 Broadway New York NY 10007">City Hall</option>
<option value="W 49th St & 5th Ave, New York, NY 10020">Rockefeller Center</option>
<option value="moma, New York, NY">MOMA</option>
<option value="350 5th Ave, New York, NY, 10118">Empire State Building</option>
<option value="253 West 125th Street, New York, NY">Apollo Theatre</option>
<option value="1 Wall St, New York, NY">Wall St</option>
</select>
<div>
रास्तों में वेपॉइंट का इस्तेमाल करना
जैसा कि DirectionsRequest में बताया गया है,
आप चाहें तो वेपॉइंट भी तय कर सकते हैं
(DirectionsWaypoint
प्रकार का) गणना करते समय
पैदल चलने, साइकिल चलाने या ड्राइविंग के लिए दिशा-निर्देश सेवा का उपयोग करने वाले रास्ते
निर्देश. बस, मेट्रो वगैरह के रास्ते के लिए वेपॉइंट उपलब्ध नहीं हैं.
वेपॉइंट आपको अतिरिक्त जगहों से होकर गुज़रने वाले रास्तों की गणना करने की सुविधा देते हैं,
इस मामले में, लौटाया गया रास्ता दिए गए वेपॉइंट से होकर गुज़रता है.
waypoint
में ये फ़ील्ड होते हैं:
location
(ज़रूरी है) पता बताता है का हिस्सा हैं.stopover
(ज़रूरी नहीं) बताता है कि यह वेपॉइंट, सही रास्ते (true
) का एक स्टॉप है या इसके बजाय उपयोगकर्ता को यहां दिए गए लिंक पर जाना होगा जगह (false
). स्टॉप ओवरtrue
हैं डिफ़ॉल्ट रूप से.
दिशा-निर्देश सेवा डिफ़ॉल्ट रूप से,
दिए गए वेपॉइंट को उनके दिए गए क्रम में. वैकल्पिक रूप से, आप
दिशा-निर्देश सेवा को अनुमति देने के लिए,
DirectionsRequest
के अंदर optimizeWaypoints: true
को पास कर सकता है
वेपॉइंट को फिर से व्यवस्थित करके, दिए गए रास्ते को ऑप्टिमाइज़ करें
और बेहतर ऑर्डर बनाया है. (यह ऑप्टिमाइज़ेशन,
ट्रैवलिंग सेल्सपर्सन से जुड़ी समस्या.) यात्रा में लगने वाला समय, मुख्य फ़ैक्टर है
ऑप्टिमाइज़ किया गया, लेकिन अन्य कारक, जैसे दूरी, मोड़ों की संख्या वगैरह
को ध्यान में रखा जा सकता है. सभी
वेपॉइंट दिशा-निर्देश सेवा के लिए स्टॉपओवर होने चाहिए, ताकि वे
रूट
अगर आप दिशा-निर्देश सेवा को
ऐसा करने के लिए, उसका क्रम
इसके अंदर मौजूद waypoint_order
फ़ील्ड
DirectionsResult
ऑब्जेक्ट.
नीचे दिए गए उदाहरण में क्रॉस-कंट्री रूट की गणना की गई है
अमेरिका में हम अलग-अलग स्टार्ट पॉइंट, एंड पॉइंट,
और वेपॉइंट शामिल हैं. (एक से ज़्यादा वेपॉइंट चुनने के लिए, दबाएं
सूची में मौजूद आइटम को चुनते समय Ctrl-क्लिक करें.)
ध्यान दें कि हम routes.start_address
की जांच करते हैं
और उपलब्ध कराने के लिए routes.end_address
हमें हर रास्ते के प्रारंभ और अंत बिंदु के लिए टेक्स्ट के साथ भेजें.
TypeScript
function initMap(): void { const directionsService = new google.maps.DirectionsService(); const directionsRenderer = new google.maps.DirectionsRenderer(); const map = new google.maps.Map( document.getElementById("map") as HTMLElement, { zoom: 6, center: { lat: 41.85, lng: -87.65 }, } ); directionsRenderer.setMap(map); (document.getElementById("submit") as HTMLElement).addEventListener( "click", () => { calculateAndDisplayRoute(directionsService, directionsRenderer); } ); } function calculateAndDisplayRoute( directionsService: google.maps.DirectionsService, directionsRenderer: google.maps.DirectionsRenderer ) { const waypts: google.maps.DirectionsWaypoint[] = []; const checkboxArray = document.getElementById( "waypoints" ) as HTMLSelectElement; for (let i = 0; i < checkboxArray.length; i++) { if (checkboxArray.options[i].selected) { waypts.push({ location: (checkboxArray[i] as HTMLOptionElement).value, stopover: true, }); } } directionsService .route({ origin: (document.getElementById("start") as HTMLInputElement).value, destination: (document.getElementById("end") as HTMLInputElement).value, waypoints: waypts, optimizeWaypoints: true, travelMode: google.maps.TravelMode.DRIVING, }) .then((response) => { directionsRenderer.setDirections(response); const route = response.routes[0]; const summaryPanel = document.getElementById( "directions-panel" ) as HTMLElement; summaryPanel.innerHTML = ""; // For each route, display summary information. for (let i = 0; i < route.legs.length; i++) { const routeSegment = i + 1; summaryPanel.innerHTML += "<b>Route Segment: " + routeSegment + "</b><br>"; summaryPanel.innerHTML += route.legs[i].start_address + " to "; summaryPanel.innerHTML += route.legs[i].end_address + "<br>"; summaryPanel.innerHTML += route.legs[i].distance!.text + "<br><br>"; } }) .catch((e) => window.alert("Directions request failed due to " + status)); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
function initMap() { const directionsService = new google.maps.DirectionsService(); const directionsRenderer = new google.maps.DirectionsRenderer(); const map = new google.maps.Map(document.getElementById("map"), { zoom: 6, center: { lat: 41.85, lng: -87.65 }, }); directionsRenderer.setMap(map); document.getElementById("submit").addEventListener("click", () => { calculateAndDisplayRoute(directionsService, directionsRenderer); }); } function calculateAndDisplayRoute(directionsService, directionsRenderer) { const waypts = []; const checkboxArray = document.getElementById("waypoints"); for (let i = 0; i < checkboxArray.length; i++) { if (checkboxArray.options[i].selected) { waypts.push({ location: checkboxArray[i].value, stopover: true, }); } } directionsService .route({ origin: document.getElementById("start").value, destination: document.getElementById("end").value, waypoints: waypts, optimizeWaypoints: true, travelMode: google.maps.TravelMode.DRIVING, }) .then((response) => { directionsRenderer.setDirections(response); const route = response.routes[0]; const summaryPanel = document.getElementById("directions-panel"); summaryPanel.innerHTML = ""; // For each route, display summary information. for (let i = 0; i < route.legs.length; i++) { const routeSegment = i + 1; summaryPanel.innerHTML += "<b>Route Segment: " + routeSegment + "</b><br>"; summaryPanel.innerHTML += route.legs[i].start_address + " to "; summaryPanel.innerHTML += route.legs[i].end_address + "<br>"; summaryPanel.innerHTML += route.legs[i].distance.text + "<br><br>"; } }) .catch((e) => window.alert("Directions request failed due to " + status)); } window.initMap = initMap;
वेपॉइंट की सीमाएं और पाबंदियां
इस्तेमाल की ये सीमाएं और पाबंदियां लागू होती हैं:
- दिशा-निर्देश सेवा का उपयोग करते समय स्वीकृत वेपॉइंट की अधिकतम संख्या की संख्या 25 है, शुरुआत की जगह और मंज़िल को भी शामिल करता है. सीमाएं समान हैं दिशा-निर्देशों की एपीआई वेब सेवा पर क्लिक करें.
- के लिए निर्देशों की एपीआई वेब सेवा, ग्राहकों को 25 वेपॉइंट, शुरुआत की जगह, और मंज़िल की जानकारी भी शामिल होती है.
- Google Maps Platform प्रीमियम प्लान के ग्राहकों को सिर्फ़ 25 दिनों की अनुमति है वेपॉइंट, शुरुआत की जगह, और मंज़िल की जानकारी भी शामिल होती है.
- बस, मेट्रो वगैरह के रास्ते के लिए वेपॉइंट का इस्तेमाल नहीं किया जा सकता.
खींचने और छोड़ने लायक दिशा-निर्देश
उपयोगकर्ता साइकल चलाने, पैदल चलने या ड्राइविंग के दिशा-निर्देशों में बदलाव कर सकते हैं.
DirectionsRenderer
डाइनैमिक तौर पर, अगर वे
खींचें और छोड़ें, जिससे उपयोगकर्ता को चुनने और बदलाव करने की सुविधा मिलती है
मैप पर इसके नतीजे के तौर पर मिले पाथ पर क्लिक करके और उसे खींचकर रूट ले जाते हैं.
बताएं कि रेंडरर का डिसप्ले, खींचने और छोड़ने लायक है या नहीं
draggable
प्रॉपर्टी सेट करके, निर्देश पाने के लिए
true
तक. ट्रांज़िट दिशा-निर्देशों को खींचने और छोड़ने लायक नहीं बनाया जा सकता.
जब दिशा-निर्देशों को खींचने और छोड़ने लायक बनाया जाता है, तो उपयोगकर्ता
रेंडर किए गए नतीजे का पाथ (या वेपॉइंट) और संकेत में बताए गए
कॉम्पोनेंट को किसी नई जगह पर ले जाएं. DirectionsRenderer
बदला गया पाथ दिखाने के लिए डायनैमिक तौर पर अपडेट होगा. रिलीज़ होने के बाद,
ट्रांज़िशनल वेपॉइंट मैप में जोड़ दिया जाएगा (यह
एक छोटा सफ़ेद मार्कर). किसी पथ सेगमेंट को चुनने और उसे इधर-उधर ले जाने पर
चुनें और चलते समय मार्ग के उस पैर को बदलें
वेपॉइंट मार्कर (स्टार्ट और एंड पॉइंट सहित) आपकी साइट के
उस रास्ते के वेपॉइंट से गुजरने वाले रास्ते के पैर.
ड्रैग किए जा सकने वाले दिशा-निर्देशों में बदलाव किया जाता है और इन्हें क्लाइंट-साइड रेंडर किया जाता है,
शायद आप directions_changed
को मॉनिटर और मैनेज करना चाहें
DirectionsRenderer
पर होने वाला इवेंट
उपयोगकर्ता ने दिखाए गए निर्देशों में बदलाव किया है.
नीचे दिया गया कोड, ऑस्ट्रेलिया के पश्चिमी तट पर पर्थ से यात्रा के बारे में बताता है
का सफ़र किया जा सकता है. यह कोड,
कुल दूरी अपडेट करने के लिए directions_changed
इवेंट है
का हिस्सा हैं.
TypeScript
function initMap(): void { const map = new google.maps.Map( document.getElementById("map") as HTMLElement, { zoom: 4, center: { lat: -24.345, lng: 134.46 }, // Australia. } ); const directionsService = new google.maps.DirectionsService(); const directionsRenderer = new google.maps.DirectionsRenderer({ draggable: true, map, panel: document.getElementById("panel") as HTMLElement, }); directionsRenderer.addListener("directions_changed", () => { const directions = directionsRenderer.getDirections(); if (directions) { computeTotalDistance(directions); } }); displayRoute( "Perth, WA", "Sydney, NSW", directionsService, directionsRenderer ); } function displayRoute( origin: string, destination: string, service: google.maps.DirectionsService, display: google.maps.DirectionsRenderer ) { service .route({ origin: origin, destination: destination, waypoints: [ { location: "Adelaide, SA" }, { location: "Broken Hill, NSW" }, ], travelMode: google.maps.TravelMode.DRIVING, avoidTolls: true, }) .then((result: google.maps.DirectionsResult) => { display.setDirections(result); }) .catch((e) => { alert("Could not display directions due to: " + e); }); } function computeTotalDistance(result: google.maps.DirectionsResult) { let total = 0; const myroute = result.routes[0]; if (!myroute) { return; } for (let i = 0; i < myroute.legs.length; i++) { total += myroute.legs[i]!.distance!.value; } total = total / 1000; (document.getElementById("total") as HTMLElement).innerHTML = total + " km"; } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
function initMap() { const map = new google.maps.Map(document.getElementById("map"), { zoom: 4, center: { lat: -24.345, lng: 134.46 }, // Australia. }); const directionsService = new google.maps.DirectionsService(); const directionsRenderer = new google.maps.DirectionsRenderer({ draggable: true, map, panel: document.getElementById("panel"), }); directionsRenderer.addListener("directions_changed", () => { const directions = directionsRenderer.getDirections(); if (directions) { computeTotalDistance(directions); } }); displayRoute( "Perth, WA", "Sydney, NSW", directionsService, directionsRenderer, ); } function displayRoute(origin, destination, service, display) { service .route({ origin: origin, destination: destination, waypoints: [ { location: "Adelaide, SA" }, { location: "Broken Hill, NSW" }, ], travelMode: google.maps.TravelMode.DRIVING, avoidTolls: true, }) .then((result) => { display.setDirections(result); }) .catch((e) => { alert("Could not display directions due to: " + e); }); } function computeTotalDistance(result) { let total = 0; const myroute = result.routes[0]; if (!myroute) { return; } for (let i = 0; i < myroute.legs.length; i++) { total += myroute.legs[i].distance.value; } total = total / 1000; document.getElementById("total").innerHTML = total + " km"; } window.initMap = initMap;