- खास जानकारी
- लाइब्रेरी का इस्तेमाल करना
- DrawingManager के विकल्प
- ड्रॉइंग टूल कंट्रोल अपडेट करना
- ड्रॉइंग के इवेंट
खास जानकारी
DrawingManager
क्लास, उपयोगकर्ताओं को मैप पर पॉलीगॉन, रेक्टैंगल, पॉलीलाइन, सर्कल, और मार्कर बनाने के लिए, ग्राफ़िकल इंटरफ़ेस उपलब्ध कराता है.
लाइब्रेरी का इस्तेमाल करना
ड्रॉइंग टूल अपने-आप में पूरी होने वाली एक लाइब्रेरी है. यह मुख्य Maps API JavaScript कोड से अलग है. इस लाइब्रेरी में मौजूद फ़ंक्शन का इस्तेमाल करने के लिए, आपको पहले इसे मैप एपीआई बूटस्ट्रैप यूआरएल में libraries
पैरामीटर इस्तेमाल करके लोड करना होगा:
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=drawing&callback=initMap">
</script>
लाइब्रेरी पैरामीटर जोड़ने के बाद, इस तरह से DrawingManager
ऑब्जेक्ट बनाया जा सकता है:
var drawingManager = new google.maps.drawing.DrawingManager(); drawingManager.setMap(map);
DrawingsManager के विकल्प
DrawingManager
कंस्ट्रक्टर, ऐसे विकल्पों का सेट लेता है जो दिखाए जाने वाले कंट्रोल के सेट, कंट्रोल की स्थिति, और शुरुआती ड्रॉइंग की स्थिति के बारे में बताते हैं.
DrawingManager
कीdrawingMode
प्रॉपर्टी, DrawingsManager के शुरुआती ड्रॉइंग की स्थिति के बारे में बताती है. इसमेंgoogle.maps.drawing.OverlayType
कॉन्सटेंट स्वीकार किया जाता है. डिफ़ॉल्टnull
है. इस स्थिति में, जब आरेखण मैनेजर शुरू होता है, तो कर्सर नॉन-ड्रॉइंग मोड में होता है.DrawingManager
कीdrawingControl
प्रॉपर्टी से, मैप पर ड्रॉइंग टूल चुनने वाले इंटरफ़ेस की विज़िबिलिटी के बारे में पता चलता है. यह बूलियन वैल्यू को स्वीकार करता है.DrawingManager
कीdrawingControlOptions
प्रॉपर्टी का इस्तेमाल करके, कंट्रोल की पोज़िशन और कंट्रोल में दिखाए जाने वाले ओवरले के टाइप भी तय किए जा सकते हैं.position
, मैप पर ड्रॉइंग कंट्रोल की जगह की जानकारी देता है औरgoogle.maps.ControlPosition
कॉन्सटेंट स्वीकार करता है.drawingModes
,google.maps.drawing.OverlayType
कॉन्सटेंट का कलेक्शन है और ओवरले टाइप के बारे में बताता है, जिन्हें ड्रॉइंग कंट्रोल शेप में शामिल किया जा सकता है. हाथ का आइकॉन हमेशा मौजूद होगा, जिससे उपयोगकर्ता ड्रॉइंग के बिना मैप के साथ इंटरैक्ट कर पाएगा. कंट्रोल में दिए गए टूल का क्रम, श्रेणी में बताए गए क्रम से मेल खाएगा.
- हर तरह के ओवरले को डिफ़ॉल्ट प्रॉपर्टी का एक सेट असाइन किया जा सकता है, जो पहली बार बनाए जाने पर ओवरले के दिखने का तरीका तय करते हैं. इन्हें ओवरले की
{overlay}Options
प्रॉपर्टी में बताया गया है, जहां{overlay}
ओवरले टाइप को दिखाता है. उदाहरण के लिए, किसी सर्कल की फ़िल प्रॉपर्टी, स्ट्रोक प्रॉपर्टी, zindex, और क्लिक करने की योग्यता कोcircleOptions
प्रॉपर्टी के साथ तय किया जा सकता है. साइज़, जगह या मैप की वैल्यू पास करने पर, उन्हें अनदेखा कर दिया जाता है. किन प्रॉपर्टी को सेट किया जा सकता है, इस बारे में पूरी जानकारी पाने के लिए, एपीआई के रेफ़रंस वाला दस्तावेज़ देखें.
नोट: बन जाने के बाद, उपयोगकर्ता में बदलाव करने लायक आकार बनाने के लिए, अपनी editable
प्रॉपर्टी को true
पर सेट करें.
TypeScript
// This example requires the Drawing library. Include the libraries=drawing // parameter when you first load the API. For example: // <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=drawing"> function initMap(): void { const map = new google.maps.Map( document.getElementById("map") as HTMLElement, { center: { lat: -34.397, lng: 150.644 }, zoom: 8, } ); const drawingManager = new google.maps.drawing.DrawingManager({ drawingMode: google.maps.drawing.OverlayType.MARKER, drawingControl: true, drawingControlOptions: { position: google.maps.ControlPosition.TOP_CENTER, drawingModes: [ google.maps.drawing.OverlayType.MARKER, google.maps.drawing.OverlayType.CIRCLE, google.maps.drawing.OverlayType.POLYGON, google.maps.drawing.OverlayType.POLYLINE, google.maps.drawing.OverlayType.RECTANGLE, ], }, markerOptions: { icon: "https://developers.google.com/maps/documentation/javascript/examples/full/images/beachflag.png", }, circleOptions: { fillColor: "#ffff00", fillOpacity: 1, strokeWeight: 5, clickable: false, editable: true, zIndex: 1, }, }); drawingManager.setMap(map); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
// This example requires the Drawing library. Include the libraries=drawing // parameter when you first load the API. For example: // <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=drawing"> function initMap() { const map = new google.maps.Map(document.getElementById("map"), { center: { lat: -34.397, lng: 150.644 }, zoom: 8, }); const drawingManager = new google.maps.drawing.DrawingManager({ drawingMode: google.maps.drawing.OverlayType.MARKER, drawingControl: true, drawingControlOptions: { position: google.maps.ControlPosition.TOP_CENTER, drawingModes: [ google.maps.drawing.OverlayType.MARKER, google.maps.drawing.OverlayType.CIRCLE, google.maps.drawing.OverlayType.POLYGON, google.maps.drawing.OverlayType.POLYLINE, google.maps.drawing.OverlayType.RECTANGLE, ], }, markerOptions: { icon: "https://developers.google.com/maps/documentation/javascript/examples/full/images/beachflag.png", }, circleOptions: { fillColor: "#ffff00", fillOpacity: 1, strokeWeight: 5, clickable: false, editable: true, zIndex: 1, }, }); drawingManager.setMap(map); } window.initMap = initMap;
सैंपल आज़माएं
ड्रॉइंग टूल कंट्रोल अपडेट करना
DrawingManager
ऑब्जेक्ट बन जाने के बाद, setOptions()
को कॉल करके और नई वैल्यू पास करके, इसे अपडेट किया जा सकता है.
drawingManager.setOptions({ drawingControlOptions: { position: google.maps.ControlPosition.BOTTOM_LEFT, drawingModes: ['marker'] } });
ड्रॉइंग टूल का कंट्रोल छिपाने या दिखाने के लिए:
// To hide: drawingManager.setOptions({ drawingControl: false }); // To show: drawingManager.setOptions({ drawingControl: true });
map
ऑब्जेक्ट से ड्रॉइंग टूल कंट्रोल हटाने के लिए:
drawingManager.setMap(null);
ड्रॉइंग कंट्रोल को छिपाने पर, ड्रॉइंग टूल का कंट्रोल नहीं दिखता है,
लेकिन DrawingManager
क्लास के सभी फ़ंक्शन अब भी उपलब्ध होते हैं.
इस तरह से, आप चाहें तो अपने हिसाब से कंट्रोल लागू कर सकते हैं. map
ऑब्जेक्ट से
DrawingManager
को निकालने से सभी ड्रॉइंग फ़ंक्शन बंद हो जाता है; अगर
मैप फ़ीचर को पहले जैसा करना है, तो इसे drawingManager.setMap(map)
या नए बनाए गए
DrawingManager
ऑब्जेक्ट के साथ मैप के साथ फिर से अटैच करना चाहिए.
ड्रॉइंग इवेंट
जब आकार ओवरले बनाया जाता है, तो दो इवेंट सक्रिय किए जाते हैं:
{overlay}complete
इवेंट (जहां{overlay}
, ओवरले टाइप दिखाता है, जैसे किcirclecomplete
,polygoncomplete
वगैरह). ओवरले का रेफ़रंस, तर्क के तौर पर पास किया जाता है.- एक
overlaycomplete
इवेंट.OverlayType
ऑब्जेक्ट और ओवरले का रेफ़रंस, एक लिटरल ऑब्जेक्ट को आर्ग्युमेंट के तौर पर पास किया जाता है.
google.maps.event.addListener(drawingManager, 'circlecomplete', function(circle) { var radius = circle.getRadius(); }); google.maps.event.addListener(drawingManager, 'overlaycomplete', function(event) { if (event.type == 'circle') { var radius = event.overlay.getRadius(); } });
ध्यान दें कि google.maps.Map
इवेंट, जैसे कि click
और mousemove
को मैप पर बनाते समय बंद कर दिया गया है.