Це зводить мене з розуму. Дивіться підручник "Листовка" для додавання елемента управління шаром до вашої карти:
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);
Тепер, як я можу використовувати функцію RemoveLayer, щоб видалити карту "GrayScale" з елемента керування за допомогою події map.on ("click")? Код буде:
map.on('click', function(){
//remove GrayScale
});
Ви хочете, щоб користувач міг видалити відтінки сірого за допомогою кнопки? Або для того, щоб воно було динамічно усунене як вплив якоїсь іншої події? Або ви просто хочете, щоб карта починалася без шару сірого?
—
гексамон
Скажімо, найпростіше рішення: динамічно як вплив на подію. Наприклад, map.on ('click', function () {}). Я відповідно відредагую свій пост.
—
yesman