OK, ich habe eine einfache Krebs-Webkarte in Leaflet und stecke bei einem Problem fest.<\/P>
1. Ich habe ein HTML-Kontrollkästchen, das beim Anklicken eine Ebene einschaltet. (Layer switcher ist keine Option) Dies ruft im Grunde eine Funktion auf und übergibt den Namen der Krebsebene, z.B. updateLayerVis("lung")<\/P>
<\/P>
2. Ich habe verschiedene Krebsarten nach Namen definiert, z.B. var throat = new L.GeoJSON(data .....<\/P>
<\/P>
3. Die oben genannte Funktion übergibt den Wert 'lung' an 'a' unten. Es scheint, als würde ein einfacher String namens 'lung' übergeben, während addTo eine Ebene erwartet. Ist es möglich, diesen String zu verwenden, um die entsprechende Ebene zur Karte hinzuzufügen?<\/P>
<\/P>
<\/P>
function updateLayerVis(a){<\/P>
console.log(a); \/\/ lung<\/P>
a.value.addTo(map); \/\/ gibt einen Fehler zurück "a.addTo ist keine Funktion"<\/P>
a.addTo(map); \/\/ gibt einen Fehler zurück "a.addTo ist keine Funktion"<\/P>
lung.addTo(map); \/\/ funktioniert, aber mit 15 Kontrollkästchen bräuchte ich eine große switch-Funktion.<\/P>
};<\/P>