Suite

Comment basculer (ajouter/supprimer) des couches de fichiers de formes dans Leaflet.js ?

Comment basculer (ajouter/supprimer) des couches de fichiers de formes dans Leaflet.js ?


Si je crée un calque de fichier de formes

var ac_shpfile = new L.Shapefile("data/AC.zip", {onEachFeature: function (feature, layer) { /* Ajouter des couleurs basées sur les fonctionnalités du shapefile */ }});

puis l'ajouter à la carte que j'ai créée

ac_shpfile.addTo(map);

Comment puis-je supprimer ultérieurement cette couche de fichier de formes de la carte ? Je prévois de créer un autre calque de fichier de formes (le même fichier de formes mais avec des colorations différentes) et, en fonction d'une action de l'utilisateur, de basculer entre ces deux calques de fichiers de formes affichés. Comment ajouter/supprimer des calques de fichiers de formes comme celui-ci ? J'ai cherché le "contraire" deAjouter à()dans la documentation mais cela ne semble pas facile à trouver ?


Il semble que le plugin Leaflet Shapefile ait été implémentéL.Shapefilecomme une extension de L.GeoJson.L. GeoJsonmet en œuvre leILayerinterface, y compris la méthode removeLayer()

Longue façon de dire que cela devrait fonctionner:

map.removeLayer (fichier de forme)

Découvrez cet exemple.

En fonction de votre extrait de code, vous pouvez faire quelque chose comme ceci :

var ac_shpfile = new L.Shapefile("data/AC.zip", {onEachFeature: function (feature, layer) { /* Ajouter des couleurs basées sur les fonctionnalités du shapefile */ }}); var baseMaps = { //"example title": example_layer }; var overlayMaps = { "AC Shapefile": ac_shpfile }; L.control.layers(baseMaps, overlayMaps).addTo(map);

Cela vous donnera un contrôle de couche basculable.

Sinon, faites-le dans le code, comme indiqué ci-dessus :

ac_shpfile.addTo(map); map.removeLayer(ac_shpfile)

Voir la vidéo: Create interactive web maps using Leaflet JS - 06 - Plugins and Google Maps Layer