Esto me está volviendo loco. Consulte el tutorial de folleto para agregar un control de capa a su mapa:
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);
Ahora, ¿cómo uso la función removeLayer para eliminar el mapa "GrayScale" del control usando un evento map.on ('click')? El código sería:
map.on('click', function(){
//remove GrayScale
});
¿Desea que el usuario pueda eliminar la escala de grises con un botón? ¿O para que se elimine dinámicamente como efecto de algún otro evento? ¿O simplemente desea que el mapa comience sin la capa de escala de grises?
—
hexamon
Digamos la solución más fácil: dinámicamente como efecto de un evento. Por ejemplo, map.on ('click', function () {}). Editaré mi publicación en consecuencia.
—
yesman