यह मुझे पागल बना रहा है। अपने नक्शे में एक परत नियंत्रण जोड़ने के लिए USC ट्यूटोरियल देखें:
L.Icon.Default.imagePath = "Scripts/images";
var mapUrl = 'http://{s}.tile.openstreetmap.se/hydda/full/{z}/{x}/{y}.png';
var secondMap = 'http://{s}.tile.osm.org/{z}/{x}/{y}.png';
var littleton = L.marker([39.61, -105.02]).bindPopup('This is Littleton, CO.'),
denver = L.marker([39.74, -104.99]).bindPopup('This is Denver, CO.'),
aurora = L.marker([39.73, -104.8]).bindPopup('This is Aurora, CO.'),
golden = L.marker([39.77, -105.23]).bindPopup('This is Golden, CO.');
var cities = L.layerGroup([littleton, denver, aurora, golden]);
var grayscale = L.tileLayer(mapUrl, { id: mapUrl }),
streets = L.tileLayer(secondMap, { id: secondMap });
var map = L.map('map', {
center: [39.73, -104.99],
zoom: 10,
layers: [grayscale, cities]
});
var baseMaps = {
"Grayscale": grayscale,
"Streets": streets
};
var overlayMaps = {
"Cities": cities
};
L.control.layers(baseMaps, overlayMaps).addTo(map);
अब, मैं map.on ('क्लिक') ईवेंट का उपयोग करके "ग्रेस्केल" मानचित्र को नियंत्रण से हटाने के लिए रिमलीयर फ़ंक्शन का उपयोग कैसे करूं? कोड होगा:
map.on('click', function(){
//remove GrayScale
});
क्या आप चाहते हैं कि उपयोगकर्ता एक बटन के साथ ग्रेस्केल को हटा सके? या इसके लिए किसी अन्य घटना के प्रभाव के रूप में गतिशील रूप से हटाया जाना चाहिए? या क्या आप बस चाहते हैं कि नक्शा ग्रेस्केल परत के बिना शुरू हो?
—
हेक्सामन
मान लें कि सबसे आसान समाधान: गतिशील रूप से किसी घटना के प्रभाव के रूप में। उदाहरण के लिए, map.on ('क्लिक', फ़ंक्शन () {})। मैं उसी के अनुसार अपनी पोस्ट संपादित करूंगा।
—
यमन