Das macht mich verrückt. Weitere Informationen zum Hinzufügen eines Ebenensteuerelements zu Ihrer Karte finden Sie im Lernprogramm für Broschüren:
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);
Wie verwende ich nun die Funktion removeLayer, um die "GrayScale" -Karte mithilfe eines map.on-Ereignisses ('click') aus dem Steuerelement zu entfernen? Der Code wäre:
map.on('click', function(){
//remove GrayScale
});
javascript
leaflet
mapbox
Jaman
quelle
quelle
Antworten:
Wenn Sie die Graustufenkarte von Anfang an entfernen möchten, löschen Sie einfach:
Von
Wenn Sie den Layer mit einem Klick entfernen möchten, rufen Sie ihn als Methode für das Kartenobjekt auf. Wie so:
Um es aus dem Steuerelement zu entfernen, müssen Sie das Steuerelement zunächst einer Variablen zuweisen. Ändere das:
Dazu:
Dann können Sie anrufen:
..um es von der Steuerung zu entfernen.
quelle