Leaflet Control Layers extended for group of layers and icons legend
Leaflet Control Layers extended with support groups and icons
Copyright Stefano Cudini
Tested in Leaflet 0.7.3
demo: labs.easyblog.it/maps/leaflet-panel-layers
Source code:
Github
Bitbucket
NPM

Multiple active layers with icons
var baseLayers = active: true name: "OpenStreetMap" layer: LtileLayer'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png' ;var overLayers = name: "Drinking Water" icon: '<i class="icon icon-water"></i>' layer: LgeoJsonWaterGeoJSON active: true name: "Parking" icon: '<i class="icon icon-parking"></i>' layer: LgeoJsonParkingGeoJSON ;mapaddControl PanelLayersbaseLayers overLayers ;
Build panel layers from pure JSON Config
var panelJsonConfig = "baselayers": "active": true "name": "Open Cycle Map" "layer": "type": "tileLayer" "args": "http://{s}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png" "name": "Landscape" "layer": "type": "tileLayer" "args": "http://{s}.tile3.opencyclemap.org/landscape/{z}/{x}/{y}.png" "name": "Transports" "layer": "type": "tileLayer" "args": "http://{s}.tile2.opencyclemap.org/transport/{z}/{x}/{y}.png" "overlayers": "name": "Terrain" "layer": "type": "tileLayer" "args": "http://toolserver.org/~cmarqu/hill/{z}/{x}/{y}.png" "opacity": 0.5 ;LcontrolpanelLayerspanelJsonConfigbaseLayers panelJsonConfigoverLayersaddTomap;
Grouping of layers
LcontrolpanelLayers name: "Open Street Map" layer: osmLayer group: "Walking layers" layers: name: "Open Cycle Map" layer: LtileLayer'http://{s}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png' name: "Hiking" layer: LtileLayer"http://toolserver.org/tiles/hikebike/{z}/{x}/{y}.png" group: "Road layers" layers: name: "Transports" layer: LtileLayer"http://{s}.tile2.opencyclemap.org/transport/{z}/{x}/{y}.png" addTomap;
This plugin support Grunt for building process. Therefore the deployment require NPM installed in your system. After you've made sure to have npm working, run this in command line:
npm installgrunt