Leaflet.js: Jak usunąć wiele warstw z mapy

Używam Leaflet.js do mapy. Teraz chcę usunąć dodane warstwy z mapy. Klikając przycisk wejściowy #, wszystkie zaznaczone pola wyboru zostaną zmienione na niezaznaczone, a wszystkie odpowiednie warstwy zostaną usunięte z mapy.

Aby usunąć warstwę z mapy, potrzebny jest identyfikator warstwy. Ten identyfikator jest równy id odpowiedniego pola wyboru. Dlatego używam jQuery, aby uzyskać identyfikatory wszystkich zaznaczonych pól wyboru i zapisać ich wartość w obiekcie, zwanym tutajsomeObj.idsChecked.

Kiedy próbuję użyć przechowywanej wartościval aby usunąć jedną warstwę, nie działa, gdyconsole.log wyświetla żądaną wartość. Tutaj na przykład: mapcat52.

Podczas wstawiania poprzedniego identyfikatora zakodowanego na stałe w funkcji jakmap.removeLayer (mapcat52) działa zgodnie z oczekiwaniami.

Gdzie jest błąd w moim kodzie lub w moich myślach?
Każda pomoc jest bardzo ceniona.

HTML

<input type="button" id="selectnone" value="deselect all" />

<!-- checkboxes  --> 
<input id="mapcat52" type="checkbox" name="maplayer" class="maplayer"> 
<label for="mapcat52">Map Layer One</label>

<input id="mapcat53" type="checkbox" name="maplayer" class="maplayer"> 
<label for="mapcat53">Map Layer Two</label>

...

JS:

$('#selectnone').click(function() {
    var someObj = {};
    someObj.idsChecked = [];

    $("input:checkbox").each(function() {
        if ($(this).is(":checked")) {

            someObj.idsChecked.push($(this).attr("id"));
        }
    }).attr('checked', false);

    $.each(someObj.idsChecked,function(id, val) {

          // displays the wanted value, e.g. "mapcat52" if checkbox with this id is checked
          console.log(val);

          // does not work: inserted value
          map.removeLayer(val); 

          // works: hard coded value of the leaflet.js/input id
          map.removeLayer(mapcat52); 
        });

});

questionAnswers(3)

yourAnswerToTheQuestion