Ini membuatku gila. Lihat tutorial Leaflet untuk menambahkan kontrol layer ke peta Anda:
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);
Sekarang, bagaimana cara menggunakan fungsi removeLayer untuk menghapus peta "GrayScale" dari kontrol menggunakan map.on ('klik') acara? Kode tersebut adalah:
map.on('click', function(){
//remove GrayScale
});
Apakah Anda ingin pengguna dapat menghapus Grayscale dengan sebuah tombol? Atau agar dihapus secara dinamis sebagai efek dari beberapa peristiwa lain? Atau apakah Anda hanya ingin peta dimulai tanpa lapisan abu-abu sama sekali?
—
hexamon
Katakanlah solusi termudah: secara dinamis sebagai efek terhadap suatu peristiwa. Misalnya, map.on ('klik', fungsi () {}). Saya akan mengedit posting saya sesuai.
—
yesman