खास जानकारी
किसी वेब पेज पर मैप का इस्तेमाल करने के लिए, उपयोगकर्ताओं के मैप से ज़ूम और पैन करने के तरीके को कंट्रोल करने के लिए, खास विकल्पों की ज़रूरत हो सकती है. gestureHandling
, minZoom
, maxZoom
, और restriction
जैसे ये विकल्प MapOptions इंटरफ़ेस में तय किए जाते हैं.
डिफ़ॉल्ट व्यवहार
नीचे दिया गया मैप, सिर्फ़ zoom
और center
विकल्पों के साथ इंस्टैंशिएट किए गए मैप के साथ, मैप इंटरैक्शन के डिफ़ॉल्ट व्यवहार को दिखाता है.
इस मैप का कोड नीचे है.
TypeScript
new google.maps.Map(document.getElementById("map")!, { zoom, center, });
JavaScript
new google.maps.Map(document.getElementById("map"), { zoom, center, });
जेस्चर हैंडलिंग को कंट्रोल करना
जब कोई उपयोगकर्ता मैप वाले पेज को स्क्रोल करता है, तो स्क्रोल करने की वजह से अनजाने में मैप ज़ूम हो सकता है. इस व्यवहार को मैप के विकल्प gestureHandling का इस्तेमाल करके कंट्रोल किया जा सकता है.
जेस्चर हैंडलिंग: cooperative
नीचे दिए गए मैप में, cooperative
पर सेट किए गए gestureHandling के विकल्प का इस्तेमाल किया गया है. इससे लोगों को ज़ूम या मैप किए बिना, पेज को सामान्य रूप से स्क्रोल करने की सुविधा मिलती है. उपयोगकर्ता, ज़ूम कंट्रोल पर क्लिक करके मैप को ज़ूम कर सकते हैं. वे टचस्क्रीन वाले डिवाइसों के लिए, मैप पर दो उंगलियों से नेविगेट करके, ज़ूम और पैन भी कर सकते हैं.
इस मैप का कोड नीचे है.
TypeScript
new google.maps.Map(document.getElementById("map")!, { zoom, center, gestureHandling: "cooperative", });
JavaScript
new google.maps.Map(document.getElementById("map"), { zoom, center, gestureHandling: "cooperative", });
जेस्चर हैंडलिंग: auto
पेज में सबसे ऊपर मौजूद जिस मैप के लिए gestureHandling
विकल्प नहीं है उसका काम, पिछले मैप के व्यवहार जैसा ही है. इसमें gestureHandling की वैल्यू cooperative
पर सेट है, क्योंकि इस पेज के सभी मैप <iframe>
के दायरे में हैं. डिफ़ॉल्ट gestureHandling की वैल्यू
auto
, greedy
से cooperative
के बीच स्विच होती है. यह इस बात पर निर्भर करता है कि मैप, <iframe>
में शामिल है या नहीं.
मैप <iframe> में शामिल है |
व्यवहार |
---|---|
हाँ | cooperative |
no | greedy |
जेस्चर हैंडलिंग: greedy
नीचे greedy
पर सेट किए गए gestureHandling वाला मैप दिया गया है. cooperative
के उलट, यह मैप हाथ के सभी जेस्चर और स्क्रोल इवेंट पर प्रतिक्रिया देता है.
जेस्चर हैंडलिंग: none
मैप पर हाथ के जेस्चर बंद करने के लिए, gestureHandling के विकल्प को none
पर भी सेट किया जा सकता है.
पैन और ज़ूम करने की सुविधा बंद की जा रही है
मैप को पैन और ज़ूम करने की सुविधा को पूरी तरह से बंद करने के लिए, दो विकल्पों को शामिल किया जाना चाहिए: gestureHandling और zoomControl.
TypeScript
new google.maps.Map(document.getElementById("map")!, { zoom, center, gestureHandling: "none", zoomControl: false, });
JavaScript
new google.maps.Map(document.getElementById("map"), { zoom, center, gestureHandling: "none", zoomControl: false, });
नीचे दिया गया मैप, ऊपर दिए गए कोड में gestureHandling और zoomControl का कॉम्बिनेशन दिखाता है.
मैप की सीमाएं और ज़ूम सीमित करना
ऐसा हो सकता है कि जेस्चर और ज़ूम कंट्रोल की अनुमति दी जा सके, लेकिन मैप को एक खास सीमा या कम से कम और ज़्यादा से ज़्यादा ज़ूम तक सीमित किया जा सके. इसके लिए, पाबंदी, minZoom, और maxZoom विकल्प सेट किए जा सकते हैं. नीचे दिया गया कोड और मैप इन विकल्पों को दिखाता है.
TypeScript
new google.maps.Map(document.getElementById("map")!, { zoom, center, minZoom: zoom - 3, maxZoom: zoom + 3, restriction: { latLngBounds: { north: -10, south: -40, east: 160, west: 100, }, }, });
JavaScript
new google.maps.Map(document.getElementById("map"), { zoom, center, minZoom: zoom - 3, maxZoom: zoom + 3, restriction: { latLngBounds: { north: -10, south: -40, east: 160, west: 100, }, }, });