Leaflet.js: Comment faire pour supprimer plusieurs couches de carte

Je suis en utilisant Leaflet.js pour une carte. Maintenant, je veux supprimer les calques ajoutés à partir de la carte. En cliquant sur l'entrée n ° bouton coché des cases à cocher doit être modifié de manière incontrôlée, et tous les couches doivent être retirés de la carte.

Pour enlever une couche de la carte de l'id de la couche est nécessaire. Cet id est égal à l'id de la case à cocher correspondante. C'est pourquoi j'utilise jQuery pour obtenir les identifiants de tous les coché les cases à cocher et de stocker leur valeur dans un objet, ici appelé someObj.idsChecked.

Lorsque j'essaie d'utiliser la valeur de val pour supprimer un calque, il ne fonctionne pas alors que le console.journal affiche la valeur requise. Ici par exemple: mapcat52.

Lors de l'insertion de la précédente id codé en dur dans la fonction comme carte.removeLayer(mapcat52) il fonctionne comme prévu.

Où est l'erreur dans mon code ou de mes pensées?
Toute aide est très appréciée.

Le code 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>

...

Le 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); 
        });

});

OriginalL'auteur LuNarez | 2013-08-29