first commit
2
lib/leaflet_plugins/leaflet-StyledLayerControl-5-16-2019/LICENSE
Executable file
@@ -0,0 +1,2 @@
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
|
||||
http://creativecommons.org/licenses/by/3.0
|
218
lib/leaflet_plugins/leaflet-StyledLayerControl-5-16-2019/README.md
Executable file
@@ -0,0 +1,218 @@
|
||||
Leaflet.StyledLayerControl
|
||||
===================
|
||||
|
||||
### What is Leaflet.StyledLayerControl?
|
||||
A [Leaflet](https://github.com/Leaflet/Leaflet) plugin that implements the management and control of layers by organization into categories or groups. The StyledLayerControl class extends the original L.control.layers control.
|
||||
The plugin uses HTML5 and CSS3 to style the presentation in a modern way.
|
||||
The initial ideas were based in the plugin: [Leaflet.Groupedlayercontrol](https://github.com/ismyrnow/Leaflet.groupedlayercontrol)
|
||||
|
||||

|
||||
|
||||
*Tested with Leaflet 0.7.3*
|
||||
|
||||
### Main features
|
||||
|
||||
- Organization of the layers into groups or categories. The layers can be an overlay or basemap
|
||||
- Groups may appear initially expanded or not
|
||||
- Groups can be opened exclusively
|
||||
- A layer can be defined as removable
|
||||
- The main container control behaves responsively, automatically adjusting the vertical resizing the map and the screen
|
||||
|
||||
### Live Demos
|
||||
|
||||
- [A map using StyledLeafletControl - not exclusive group select](http://davicustodio.github.io/Leaflet.StyledLayerControl/examples/example1.html)
|
||||
- [A map using StyledLeafletControl with exclusive group select](http://davicustodio.github.io/Leaflet.StyledLayerControl/examples/example2.html)
|
||||
|
||||
### How to use?
|
||||
|
||||
|
||||
1 - Create the reference to Leaflet
|
||||
```javascript
|
||||
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css" />
|
||||
<script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>
|
||||
```
|
||||
|
||||
2 - Insert references to styledLayerControl.css and styledLayerControl.js
|
||||
```javascript
|
||||
<link rel="stylesheet" href="../css/styledLayerControl.css" />
|
||||
<script src="../src/styledLayerControl.js"></script>
|
||||
```
|
||||
|
||||
3 - Define your layers (base maps and overlays)
|
||||
```javascript
|
||||
|
||||
// Google layers
|
||||
var g_roadmap = new L.Google('ROADMAP');
|
||||
var g_satellite = new L.Google('SATELLITE');
|
||||
var g_terrain = new L.Google('TERRAIN');
|
||||
|
||||
// OSM layers
|
||||
var osmUrl='http://{s}.tile.osm.org/{z}/{x}/{y}.png';
|
||||
var osmAttrib='Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors';
|
||||
var osm = new L.TileLayer(osmUrl, {attribution: osmAttrib});
|
||||
|
||||
// ... more Base Maps
|
||||
|
||||
// Sao Paulo Soybeans Plant
|
||||
var soybeans_sp = new L.LayerGroup();
|
||||
L.marker([-22, -49.80]).addTo(soybeans_sp),
|
||||
L.marker([-23, -49.10]).addTo(soybeans_sp),
|
||||
L.marker([-21, -49.50]).addTo(soybeans_sp);
|
||||
|
||||
// Rio de Janeiro Corn Plant
|
||||
var corn_rj = new L.LayerGroup();
|
||||
L.marker([-22, -43.20]).addTo(corn_rj),
|
||||
L.marker([-23, -43.50]).addTo(corn_rj);
|
||||
|
||||
// ... more Overlays
|
||||
```
|
||||
|
||||
4 - Create the Leaflet Map Object and add the layer that will be default basemap
|
||||
```javascript
|
||||
var map = L.map('map', {
|
||||
center: [-16, -54],
|
||||
zoom: 4
|
||||
});
|
||||
|
||||
map.addLayer(g_roadmap);
|
||||
```
|
||||
|
||||
5 - Define structure of groups and layers of basemap
|
||||
```javascript
|
||||
var baseMaps = [
|
||||
{
|
||||
groupName : "Google Base Maps",
|
||||
expanded : true,
|
||||
layers : {
|
||||
"Satellite" : g_satellite,
|
||||
"Road Map" : g_roadmap,
|
||||
"Terreno" : g_terrain
|
||||
}
|
||||
}, {
|
||||
groupName : "OSM Base Maps",
|
||||
layers : {
|
||||
"OpenStreetMaps" : osm
|
||||
}
|
||||
}, {
|
||||
groupName : "Bing Base Maps",
|
||||
layers : {
|
||||
"Satellite" : bing1,
|
||||
"Road" : bing2
|
||||
}
|
||||
}
|
||||
];
|
||||
```
|
||||
|
||||
5 - Define structure of groups and layers of overlays
|
||||
```javascript
|
||||
var overlays = [
|
||||
{
|
||||
groupName : "Sao Paulo",
|
||||
expanded : true,
|
||||
layers : {
|
||||
"Soybeans Plant" : soybeans_sp,
|
||||
"Corn Plant" : corn_sp
|
||||
}
|
||||
}, {
|
||||
groupName : "Rio de Janeiro",
|
||||
expanded : true,
|
||||
layers : {
|
||||
"Bean Plant" : bean_rj,
|
||||
"Corn Plant" : corn_rj,
|
||||
"Rice Plant" : rice_rj
|
||||
}
|
||||
}, {
|
||||
groupName : "Belo Horizonte",
|
||||
layers : {
|
||||
"Sugar Cane Plant" : sugar_bh,
|
||||
"Corn Plant" : corn_bh
|
||||
}
|
||||
}
|
||||
];
|
||||
```
|
||||
|
||||
6 - Declare which layers can be deleted and visible (create the removable property with true in the options StyledLayerControl that can be created in the layer object).
|
||||
Each layer declared as removable = true will show an icon to delete the user to remove the layer
|
||||
```javascript
|
||||
soybeans_sp.StyledLayerControl = {
|
||||
removable : true,
|
||||
visible : false
|
||||
}
|
||||
// ... more layers
|
||||
```
|
||||
|
||||
7 - Define the options for StyledLayerControl
|
||||
- container_width - define the main container width - the default is automatic width
|
||||
- container_maxHeight - define the max height to the main container - the default is automatic depending of map and screen height
|
||||
- group_maxHeight - define the max height space of group container - the default is 100px
|
||||
- exclusive - define that the opened group is exclusive
|
||||
|
||||
- All the properties are optional
|
||||
- You can also include all properties available under "Options" of control L.control.layers in the same list
|
||||
|
||||
```javascript
|
||||
var options = {
|
||||
container_width : "300px",
|
||||
container_maxHeight : "350px",
|
||||
group_maxHeight : "80px",
|
||||
exclusive : false
|
||||
};
|
||||
```
|
||||
|
||||
8 - Create the StyledLayerControl
|
||||
```javascript
|
||||
var control = L.Control.styledLayerControl(baseMaps, overlays, options);
|
||||
map.addControl(control);
|
||||
```
|
||||
|
||||
### How to add and remove layers and groups dynamically ?
|
||||
|
||||
- To add a new base layer dynamically, simply use addBaseLayer and declare that the group layer will belong.
|
||||
Also note that to add a new group, simply specify a group name that does not exist yet, and a new group will be created.
|
||||
```javascript
|
||||
control.addBaseLayer( bing1, "Bing Satellite", {groupName : "Bing Maps", expanded: true} );
|
||||
control.addBaseLayer( bing2, "Bing Road", {groupName : "Bing Maps"} );
|
||||
```
|
||||
|
||||
- To add a new overlay layer dynamically, simply declare the group that de layer will belong.
|
||||
```javascript
|
||||
control.addOverlay( corn_bh, "Corn Plant", {groupName : "Belo Horizonte"} );
|
||||
```
|
||||
|
||||
- To remove a layer dynamically, specify the instance variable of the layer using the method removeLayer. (the method ignore the removable property of layers )
|
||||
```javascript
|
||||
control.removeLayer( corn_sp );
|
||||
```
|
||||
|
||||
- To remove a group, specify the name of the group in the removeGroup method.
|
||||
By doing so all layers belonging to the group will also be excluded
|
||||
```javascript
|
||||
control.removeGroup( "Rio de Janeiro");
|
||||
```
|
||||
|
||||
### How to select and unSelect layers dynamically ?
|
||||
|
||||
- To force select a layer dynamically, simply use selectLayer function like this :
|
||||
```javascript
|
||||
control.selectLayer( corn_sp );
|
||||
```
|
||||
|
||||
- So.. to un-select the layer :
|
||||
```javascript
|
||||
control.unSelectLayer( corn_sp );
|
||||
```
|
||||
|
||||
### How to select and unSelect group layers dynamically ?
|
||||
- To force select all layer of a group, use like this :
|
||||
```javascript
|
||||
control.selectGroup( "Rio de Janeiro" );
|
||||
```
|
||||
|
||||
- So.. to un-select the all layer of group :
|
||||
```javascript
|
||||
control.unSelectGroup( "Rio de Janeiro" );
|
||||
```
|
||||
|
||||
|
||||
### License
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by/3.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Creative Commons Attribution 3.0 Unported License</a>.
|
@@ -0,0 +1,146 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>
|
||||
This is a custom SVG webfont generated by Font Squirrel.
|
||||
Copyright : Copyright c 2010 by Ryoichi Tsunekawa All rights reserved
|
||||
Designer : Ryoichi Tsunekawa
|
||||
Foundry : Ryoichi Tsunekawa
|
||||
</metadata>
|
||||
<defs>
|
||||
<font id="BebasNeueRegular" horiz-adv-x="811" >
|
||||
<font-face units-per-em="2048" ascent="1638" descent="-410" />
|
||||
<missing-glyph horiz-adv-x="317" />
|
||||
<glyph unicode=" " horiz-adv-x="317" />
|
||||
<glyph unicode="	" horiz-adv-x="317" />
|
||||
<glyph unicode=" " horiz-adv-x="317" />
|
||||
<glyph unicode="!" horiz-adv-x="389" d="M82 836v598h225v-598l-28 -519h-168zM86 0v217h217v-217h-217z" />
|
||||
<glyph unicode=""" horiz-adv-x="665" d="M82 1434h217l-33 -422h-153zM367 1434h217l-33 -422h-154z" />
|
||||
<glyph unicode="#" horiz-adv-x="839" d="M31 410l16 159h100l39 375h-102l16 160h103l35 330h184l-35 -330h133l35 330h184l-34 -330h104l-16 -160h-105l-39 -375h105l-17 -159h-104l-43 -410h-184l43 410h-134l-43 -410h-184l43 410h-100zM332 569h133l39 375h-133z" />
|
||||
<glyph unicode="$" d="M70 365v98h213v-113q0 -139 116.5 -139t116.5 139q0 68 -32.5 127.5t-82 99t-105.5 89.5l-106 100q-49 49 -81.5 128t-32.5 175q0 297 237 350v107h185v-107q242 -49 241 -350v-45h-213v59q0 141 -112 141h-1q-112 0 -112 -141q0 -80 45 -146.5t110 -117.5l130 -108 q65 -56 110 -145t45 -201q0 -147 -62.5 -237.5t-180.5 -115.5v-104h-185v104q-244 49 -243 353z" />
|
||||
<glyph unicode="%" horiz-adv-x="1284" d="M70 743v471q0 111 55 170.5t161.5 59.5t162 -59.5t55.5 -170.5v-471q0 -111 -55.5 -170t-162 -59t-161.5 59t-55 170zM213 733q0 -90 73.5 -90t73.5 90v492q0 90 -73.5 90t-73.5 -90v-492zM287 0l565 1434h133l-565 -1434h-133zM780 219v471q0 111 55.5 170.5t162 59.5 t161.5 -59.5t55 -170.5v-471q0 -111 -55 -170t-161.5 -59t-162 59t-55.5 170zM924 209q0 -90 73.5 -90t73.5 90v491q0 90 -73.5 90t-73.5 -90v-491z" />
|
||||
<glyph unicode="&" horiz-adv-x="847" d="M84 311v146q0 231 156 301q-156 66 -156 295v26q0 354 336 355h258v-205h-254q-115 0 -115 -139v-89q0 -82 34 -116.5t101 -34.5h99v160h225v-160h59v-205h-59v-471q0 -117 25 -174h-230q-16 45 -20 113q-59 -129 -209 -129q-250 0 -250 327zM309 330q0 -141 117 -142 q111 0 117 125v332h-86q-78 0 -113 -42t-35 -140v-133z" />
|
||||
<glyph unicode="'" horiz-adv-x="368" d="M76 1434h217l-33 -422h-154z" />
|
||||
<glyph unicode="(" horiz-adv-x="514" d="M96 313v807q0 170 73 242t243 72h69v-185h-55q-55 0 -79.5 -27.5t-24.5 -101.5v-807q0 -74 24.5 -101.5t79.5 -27.5h55v-184h-69q-170 0 -243 71.5t-73 241.5z" />
|
||||
<glyph unicode=")" horiz-adv-x="514" d="M33 0v184h55q55 0 80 28t25 101v807q0 74 -25 101.5t-80 27.5h-55v185h69q170 0 243 -72t73 -242v-807q0 -170 -73 -241.5t-243 -71.5h-69z" />
|
||||
<glyph unicode="*" d="M4 1075l57 174l306 -153l-54 338h185l-54 -338l306 153l57 -174l-336 -57l240 -240l-148 -108l-157 303l-158 -303l-148 108l240 240z" />
|
||||
<glyph unicode="+" d="M51 637v160h275v276h159v-276h275v-160h-275v-281h-159v281h-275z" />
|
||||
<glyph unicode="," horiz-adv-x="380" d="M82 0v217h217v-194l-98 -228h-92l59 205h-86z" />
|
||||
<glyph unicode="-" horiz-adv-x="552" d="M72 614v205h409v-205h-409z" />
|
||||
<glyph unicode="." horiz-adv-x="380" d="M82 0v217h217v-217h-217z" />
|
||||
<glyph unicode="/" horiz-adv-x="780" d="M10 0l565 1434h195l-565 -1434h-195z" />
|
||||
<glyph unicode="0" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -172 -88.5 -266t-254 -94t-254 94t-88.5 266zM289 330q0 -141 117 -142q116 0 116 142v774q0 141 -116.5 141t-116.5 -141v-774z" />
|
||||
<glyph unicode="1" d="M221 1094v159q82 0 134.5 28t71.5 60.5t42 92.5h152v-1434h-226v1094h-174z" />
|
||||
<glyph unicode="2" d="M82 0v176q0 117 46 214t111 170l131 144q66 70 112 166t46 211q0 92 -29.5 128t-86.5 36q-117 0 -117 -141v-154h-213v140q0 174 86 267t250 93t250 -93t86 -267q0 -131 -50.5 -247t-120 -198t-137 -153.5t-109.5 -144.5q-33 -57 -33 -111q0 -16 3 -31h426v-205h-651z " />
|
||||
<glyph unicode="3" d="M70 344v119h213v-133q0 -141 116 -142q57 0 87 36t30 126v113q0 98 -35 140t-112 42h-76v205h88q68 0 101.5 34.5t33.5 116.5v80q0 92 -29.5 128t-87.5 36q-117 0 -116 -141v-92h-213v78q0 174 86 267t249.5 93t249.5 -93t86 -267v-37q0 -229 -157 -295q158 -70 157 -301 v-113q0 -174 -86 -267t-249.5 -93t-249.5 93t-86 267z" />
|
||||
<glyph unicode="4" d="M29 260v205l409 969h246v-969h107v-205h-107v-260h-225v260h-430zM236 465h223v530z" />
|
||||
<glyph unicode="5" d="M72 344v119h213v-133q0 -139 117 -140q116 0 116 140v315q0 141 -116.5 141t-116.5 -141v-43h-213l41 832h594v-205h-392l-18 -342q63 104 197 104q250 0 249 -327v-320q0 -174 -86 -267t-249.5 -93t-249.5 93t-86 267z" />
|
||||
<glyph unicode="6" d="M68 344v733q0 373 344 373q164 0 250 -93t86 -267v-37h-213v51q0 141 -117 141q-63 0 -94 -39t-31 -137v-262q59 127 209 127q250 0 250 -328v-262q0 -172 -88.5 -266t-254 -94t-253.5 94t-88 266zM293 330q0 -139 117 -140q116 0 116 140v258q0 141 -116.5 141 t-116.5 -141v-258z" />
|
||||
<glyph unicode="7" d="M68 1229v205h675v-197l-331 -1237h-226l330 1229h-448z" />
|
||||
<glyph unicode="8" d="M53 1044v46q0 172 91.5 266t261 94t261 -94t91.5 -266v-46q0 -211 -140 -288q139 -78 140 -299v-113q0 -172 -91.5 -266t-261 -94t-261 94t-91.5 266v113q0 221 140 299q-139 76 -140 288zM279 350q0 -162 127 -162q125 0 126 162v133q0 162 -126.5 162t-126.5 -162v-133 zM279 1001q0 -152 126 -152l1 1q126 0 126 151v80q0 164 -126.5 164t-126.5 -164v-80z" />
|
||||
<glyph unicode="9" d="M59 827v263q0 172 88.5 266t254 94t253.5 -94t88 -266v-734q0 -372 -342 -372h-2q-164 0 -250 93t-86 267v37h213v-51q0 -141 117 -142q63 0 94 39t31 138v262q-59 -127 -209 -127q-250 0 -250 327zM285 846q0 -141 116.5 -141t116.5 141v258q0 139 -116.5 139 t-116.5 -139v-258z" />
|
||||
<glyph unicode=":" horiz-adv-x="380" d="M82 0v217h217v-217h-217zM82 780v217h217v-217h-217z" />
|
||||
<glyph unicode=";" horiz-adv-x="380" d="M82 0v217h217v-194l-98 -228h-92l59 205h-86zM82 780v217h217v-217h-217z" />
|
||||
<glyph unicode="<" d="M61 637v160l668 245v-161l-459 -164l459 -164v-162z" />
|
||||
<glyph unicode="=" d="M72 471v160h667v-160h-667zM72 803v160h667v-160h-667z" />
|
||||
<glyph unicode=">" d="M82 391v162l459 164l-459 164v161l668 -245v-160z" />
|
||||
<glyph unicode="?" horiz-adv-x="737" d="M41 948v142q0 174 84 267t248 93t248 -93t84 -267q0 -125 -42 -228.5t-91.5 -160t-91.5 -137.5t-42 -167q0 -45 8 -80h-200q-12 37 -13 89q0 104 39 191t84 141.5t84 150.5t39 215q0 141 -112.5 141t-112.5 -141v-156h-213zM236 0v217h217v-217h-217z" />
|
||||
<glyph unicode="@" horiz-adv-x="1411" d="M49 594q0 193 48 358.5t139.5 291.5t238 199t330.5 73q303 0 436 -164t133 -439q0 -178 -39 -312t-102.5 -204.5t-127.5 -103.5t-130 -33q-168 0 -180 135q-60 -123 -187 -123h-12q-188 5 -188 239q0 36 4 77l22 207q16 152 80 229q61 74 160 74h10q127 -2 168 -127 l12 119h197l-62 -592q-1 -6 -1 -11q0 -40 42 -41q80 0 122 142.5t42 320.5q0 201 -100 316.5t-307 115.5q-270 0 -412.5 -200.5t-142.5 -556.5q0 -254 119.5 -394.5t357.5 -140.5q244 0 424 139l-17 -196q-172 -115 -419 -115q-334 0 -496 191.5t-162 525.5zM610 598 q-2 -16 -2 -30q0 -101 90 -105h6q43 0 71 29q30 32 38 100l21 194q1 11 1 21q0 42 -20 65q-24 29 -70 29h-6q-45 0 -73 -29q-29 -30 -37 -100z" />
|
||||
<glyph unicode="A" horiz-adv-x="833" d="M23 0l229 1434h330l229 -1434h-227l-39 260h-277l-39 -260h-206zM297 455h217l-108 725z" />
|
||||
<glyph unicode="B" horiz-adv-x="831" d="M82 0v1434h340q174 0 254 -81t80 -249v-51q0 -221 -146 -289q168 -66 168 -307v-117q0 -166 -87 -253t-255 -87h-354zM307 205h129q59 0 88 31.5t29 109.5v125q0 98 -33.5 136t-111.5 38h-101v-440zM307 850h88q68 0 101.5 35t33.5 116v80q1 148 -114 148h-109v-379z" />
|
||||
<glyph unicode="C" horiz-adv-x="790" d="M63 344v746q0 174 86.5 267t250 93t249.5 -93t86 -267v-140h-213v154q0 141 -116.5 141t-116.5 -141v-774q1 -140 117 -140q117 0 116 140v205h213v-191q0 -174 -86 -267t-249.5 -93t-250 93t-86.5 267z" />
|
||||
<glyph unicode="D" horiz-adv-x="835" d="M82 0v1434h356q336 0 336 -355v-725q0 -354 -336 -354h-356zM307 205h127q115 0 115 139v746q0 139 -115 139h-127v-1024z" />
|
||||
<glyph unicode="E" horiz-adv-x="753" d="M82 0v1434h614v-205h-389v-400h309v-204h-309v-420h389v-205h-614z" />
|
||||
<glyph unicode="F" horiz-adv-x="704" d="M82 0v1434h596v-205h-371v-432h291v-205h-291v-592h-225z" />
|
||||
<glyph unicode="G" horiz-adv-x="798" d="M63 344v746q0 174 86.5 267t250 93t249.5 -93t86 -267v-140h-213v154q0 141 -116.5 141t-116.5 -141v-774q0 -139 117 -140q116 0 116 140v264h-102v205h315v-455q0 -174 -86 -267t-249.5 -93t-250 93t-86.5 267z" />
|
||||
<glyph unicode="H" horiz-adv-x="874" d="M82 0v1434h225v-615h256v615h230v-1434h-230v614h-256v-614h-225z" />
|
||||
<glyph unicode="I" horiz-adv-x="389" d="M82 0v1434h225v-1434h-225z" />
|
||||
<glyph unicode="J" horiz-adv-x="524" d="M20 0v205q25 -2 78 -2q129 0 129 137v1094h226v-1078q0 -360 -324 -360q-72 0 -109 4z" />
|
||||
<glyph unicode="K" horiz-adv-x="847" d="M82 0v1434h225v-625l295 625h225l-313 -639l313 -795h-231l-219 571l-70 -131v-440h-225z" />
|
||||
<glyph unicode="L" horiz-adv-x="694" d="M82 0v1434h225v-1229h371v-205h-596z" />
|
||||
<glyph unicode="M" horiz-adv-x="1107" d="M80 0v1434h313l166 -1018l154 1018h313v-1434h-213v1028l-156 -1028h-213l-168 1014v-1014h-196z" />
|
||||
<glyph unicode="N" horiz-adv-x="874" d="M80 0v1434h282l232 -859v859h201v-1434h-232l-280 1038v-1038h-203z" />
|
||||
<glyph unicode="O" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -172 -88.5 -266t-254 -94t-254 94t-88.5 266zM289 330q1 -141 117 -142q117 0 116 142v774q0 141 -116.5 141t-116.5 -141v-774z" />
|
||||
<glyph unicode="P" horiz-adv-x="772" d="M82 0v1434h332q336 0 336 -355v-186q0 -354 -336 -354h-107v-539h-225zM307 743h107q55 0 82.5 31t27.5 105v215q0 74 -27.5 104.5t-82.5 30.5h-107v-486z" />
|
||||
<glyph unicode="Q" d="M63 1090q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -121 -43 -201q12 -30 60 -30h3h20v-201h-30q-145 0 -195 98q-71 -26 -151 -26h-6q-166 0 -254.5 94t-88.5 266v746zM289 330q0 -141 116 -142h1q116 0 116 142v774q0 141 -116.5 141t-116.5 -141v-774z" />
|
||||
<glyph unicode="R" horiz-adv-x="823" d="M82 0v1434h340q174 0 254 -81t80 -249v-113q0 -221 -148 -291q150 -63 150 -305v-221v-9q0 -110 24 -165h-229q-20 61 -21 176v225q0 98 -34.5 140.5t-112.5 42.5h-78v-584h-225zM307 788h88q68 0 101.5 35t33.5 117v141q1 148 -114 148h-109v-441z" />
|
||||
<glyph unicode="S" horiz-adv-x="765" d="M47 344v88h213v-102q0 -140 117 -140h1q116 0 116 140q0 80 -46 150t-110 128l-130 120q-66 63 -110.5 156t-44.5 206q0 174 84 267t248 93t248 -93t84 -267v-46h-213v60q0 141 -112.5 141t-112.5 -141q0 -59 24.5 -112.5t63.5 -96.5t86 -85t93 -88t85 -98.5t63.5 -124 t24.5 -155.5q0 -174 -86 -267t-250 -93t-250 93t-86 267z" />
|
||||
<glyph unicode="T" horiz-adv-x="729" d="M16 1229v205h697v-205h-236v-1229h-225v1229h-236z" />
|
||||
<glyph unicode="U" horiz-adv-x="815" d="M72 342v1092h225v-1106q1 -140 117 -140q117 0 116 140v1106h213v-1092q0 -174 -86 -267t-249.5 -93t-249.5 93t-86 267z" />
|
||||
<glyph unicode="V" horiz-adv-x="823" d="M23 1434h227l172 -1170l172 1170h207l-221 -1434h-336z" />
|
||||
<glyph unicode="W" horiz-adv-x="1153" d="M31 1434h219l121 -1131l108 1131h217l113 -1139l117 1139h196l-159 -1434h-299l-82 764l-82 -764h-310z" />
|
||||
<glyph unicode="X" horiz-adv-x="880" d="M31 0l252 737l-236 697h234l170 -529l174 529h209l-236 -697l252 -737h-238l-184 567l-186 -567h-211z" />
|
||||
<glyph unicode="Y" d="M8 1434h236l172 -654l172 654h215l-285 -959v-475h-225v475z" />
|
||||
<glyph unicode="Z" horiz-adv-x="757" d="M47 0v201l428 1028h-407v205h639v-201l-428 -1028h428v-205h-660z" />
|
||||
<glyph unicode="[" horiz-adv-x="514" d="M96 0v1434h373v-185h-147v-1065h147v-184h-373z" />
|
||||
<glyph unicode="\" horiz-adv-x="780" d="M10 1434h195l565 -1434h-195z" />
|
||||
<glyph unicode="]" horiz-adv-x="514" d="M45 0v184h148v1065h-148v185h373v-1434h-373z" />
|
||||
<glyph unicode="^" d="M41 799l285 635h159l285 -635h-180l-184 430l-185 -430h-180z" />
|
||||
<glyph unicode="_" horiz-adv-x="1024" d="M0 -20h1024v-164h-1024v164z" />
|
||||
<glyph unicode="`" horiz-adv-x="512" d="M90 1737h232l139 -228h-162z" />
|
||||
<glyph unicode="a" horiz-adv-x="833" d="M23 0l229 1434h330l229 -1434h-227l-39 260h-277l-39 -260h-206zM297 455h217l-108 725z" />
|
||||
<glyph unicode="b" horiz-adv-x="831" d="M82 0v1434h340q174 0 254 -81t80 -249v-51q0 -221 -146 -289q168 -66 168 -307v-117q0 -166 -87 -253t-255 -87h-354zM307 205h129q59 0 88 31.5t29 109.5v125q0 98 -33.5 136t-111.5 38h-101v-440zM307 850h88q68 0 101.5 35t33.5 116v80q1 148 -114 148h-109v-379z" />
|
||||
<glyph unicode="c" horiz-adv-x="790" d="M63 344v746q0 174 86.5 267t250 93t249.5 -93t86 -267v-140h-213v154q0 141 -116.5 141t-116.5 -141v-774q1 -140 117 -140q117 0 116 140v205h213v-191q0 -174 -86 -267t-249.5 -93t-250 93t-86.5 267z" />
|
||||
<glyph unicode="d" horiz-adv-x="835" d="M82 0v1434h356q336 0 336 -355v-725q0 -354 -336 -354h-356zM307 205h127q115 0 115 139v746q0 139 -115 139h-127v-1024z" />
|
||||
<glyph unicode="e" horiz-adv-x="753" d="M82 0v1434h614v-205h-389v-400h309v-204h-309v-420h389v-205h-614z" />
|
||||
<glyph unicode="f" horiz-adv-x="704" d="M82 0v1434h596v-205h-371v-432h291v-205h-291v-592h-225z" />
|
||||
<glyph unicode="g" horiz-adv-x="798" d="M63 344v746q0 174 86.5 267t250 93t249.5 -93t86 -267v-140h-213v154q0 141 -116.5 141t-116.5 -141v-774q0 -139 117 -140q116 0 116 140v264h-102v205h315v-455q0 -174 -86 -267t-249.5 -93t-250 93t-86.5 267z" />
|
||||
<glyph unicode="h" horiz-adv-x="874" d="M82 0v1434h225v-615h256v615h230v-1434h-230v614h-256v-614h-225z" />
|
||||
<glyph unicode="i" horiz-adv-x="389" d="M82 0v1434h225v-1434h-225z" />
|
||||
<glyph unicode="j" horiz-adv-x="524" d="M20 0v205q25 -2 78 -2q129 0 129 137v1094h226v-1078q0 -360 -324 -360q-72 0 -109 4z" />
|
||||
<glyph unicode="k" horiz-adv-x="847" d="M82 0v1434h225v-625l295 625h225l-313 -639l313 -795h-231l-219 571l-70 -131v-440h-225z" />
|
||||
<glyph unicode="l" horiz-adv-x="694" d="M82 0v1434h225v-1229h371v-205h-596z" />
|
||||
<glyph unicode="m" horiz-adv-x="1107" d="M80 0v1434h313l166 -1018l154 1018h313v-1434h-213v1028l-156 -1028h-213l-168 1014v-1014h-196z" />
|
||||
<glyph unicode="n" horiz-adv-x="874" d="M80 0v1434h282l232 -859v859h201v-1434h-232l-280 1038v-1038h-203z" />
|
||||
<glyph unicode="o" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -172 -88.5 -266t-254 -94t-254 94t-88.5 266zM289 330q1 -141 117 -142q117 0 116 142v774q0 141 -116.5 141t-116.5 -141v-774z" />
|
||||
<glyph unicode="p" horiz-adv-x="772" d="M82 0v1434h332q336 0 336 -355v-186q0 -354 -336 -354h-107v-539h-225zM307 743h107q55 0 82.5 31t27.5 105v215q0 74 -27.5 104.5t-82.5 30.5h-107v-486z" />
|
||||
<glyph unicode="q" d="M63 1090q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -121 -43 -201q12 -30 60 -30h3h20v-201h-30q-145 0 -195 98q-71 -26 -151 -26h-6q-166 0 -254.5 94t-88.5 266v746zM289 330q0 -141 116 -142h1q116 0 116 142v774q0 141 -116.5 141t-116.5 -141v-774z" />
|
||||
<glyph unicode="r" horiz-adv-x="823" d="M82 0v1434h340q174 0 254 -81t80 -249v-113q0 -221 -148 -291q150 -63 150 -305v-221v-9q0 -110 24 -165h-229q-20 61 -21 176v225q0 98 -34.5 140.5t-112.5 42.5h-78v-584h-225zM307 788h88q68 0 101.5 35t33.5 117v141q1 148 -114 148h-109v-441z" />
|
||||
<glyph unicode="s" horiz-adv-x="765" d="M47 344v88h213v-102q0 -140 117 -140h1q116 0 116 140q0 80 -46 150t-110 128l-130 120q-66 63 -110.5 156t-44.5 206q0 174 84 267t248 93t248 -93t84 -267v-46h-213v60q0 141 -112.5 141t-112.5 -141q0 -59 24.5 -112.5t63.5 -96.5t86 -85t93 -88t85 -98.5t63.5 -124 t24.5 -155.5q0 -174 -86 -267t-250 -93t-250 93t-86 267z" />
|
||||
<glyph unicode="t" horiz-adv-x="729" d="M16 1229v205h697v-205h-236v-1229h-225v1229h-236z" />
|
||||
<glyph unicode="u" horiz-adv-x="815" d="M72 342v1092h225v-1106q1 -140 117 -140q117 0 116 140v1106h213v-1092q0 -174 -86 -267t-249.5 -93t-249.5 93t-86 267z" />
|
||||
<glyph unicode="v" horiz-adv-x="823" d="M23 1434h227l172 -1170l172 1170h207l-221 -1434h-336z" />
|
||||
<glyph unicode="w" horiz-adv-x="1153" d="M31 1434h219l121 -1131l108 1131h217l113 -1139l117 1139h196l-159 -1434h-299l-82 764l-82 -764h-310z" />
|
||||
<glyph unicode="x" horiz-adv-x="880" d="M31 0l252 737l-236 697h234l170 -529l174 529h209l-236 -697l252 -737h-238l-184 567l-186 -567h-211z" />
|
||||
<glyph unicode="y" d="M8 1434h236l172 -654l172 654h215l-285 -959v-475h-225v475z" />
|
||||
<glyph unicode="z" horiz-adv-x="757" d="M47 0v201l428 1028h-407v205h639v-201l-428 -1028h428v-205h-660z" />
|
||||
<glyph unicode="{" horiz-adv-x="526" d="M23 625v184q63 0 85.5 25.5t26.5 97.5l17 274q8 113 68.5 170.5t158.5 57.5h115v-185h-33q-55 0 -80 -31.5t-29 -113.5l-10 -205q-8 -149 -133 -182q125 -33 133 -182l10 -205q4 -82 29 -114t80 -32h33v-184h-115q-98 0 -158.5 57.5t-68.5 169.5l-17 275 q-4 72 -26.5 97.5t-85.5 25.5z" />
|
||||
<glyph unicode="|" horiz-adv-x="1024" d="M430 -133v1700h184v-1700h-184z" />
|
||||
<glyph unicode="}" horiz-adv-x="526" d="M33 1249v185h114q98 0 159 -57.5t69 -170.5l16 -274q4 -72 26.5 -97.5t86.5 -25.5v-184q-63 0 -86 -26t-27 -97l-16 -275q-8 -113 -68.5 -170t-159.5 -57h-114v184h33q55 0 79.5 32t28.5 114l10 205q8 149 133 182q-125 33 -133 182l-10 205q-4 82 -28.5 113.5 t-79.5 31.5h-33z" />
|
||||
<glyph unicode="~" d="M16 680q70 104 126.5 144t117.5 40q59 0 155.5 -62.5t137.5 -62.5q33 0 58.5 23.5t76.5 93.5l107 -111q-70 -102 -125.5 -139t-118.5 -37q-59 0 -155.5 62.5t-137.5 62.5q-35 0 -60.5 -23t-74.5 -93z" />
|
||||
<glyph unicode="¢" d="M74 426v582q0 297 239 350v106h185v-104q248 -49 247 -352v-99h-213v113q0 141 -116.5 141t-116.5 -141v-610q0 -139 117 -140q116 0 116 140v163h213v-149q0 -305 -247 -352v-105h-185v107q-240 49 -239 350z" />
|
||||
<glyph unicode="£" d="M61 0v197q82 0 137.5 62.5t57.5 170.5h-166v174h137q-14 39 -56 123t-65.5 167t-23.5 196q0 174 84 267t248 93t247.5 -93t83.5 -267v-142h-213v156q0 141 -112.5 141t-112.5 -141q0 -113 24.5 -200t62.5 -167t50 -133h248v-174h-233q-14 -145 -115 -225h387v-205h-670z " />
|
||||
<glyph unicode="¥" d="M14 1434h236l166 -633l166 633h215l-262 -879h170v-113h-187v-92h187v-112h-187v-238h-225v238h-187v112h187v92h-187v113h168z" />
|
||||
<glyph unicode="©" horiz-adv-x="1507" d="M41 716.5q0 317.5 204 525.5t509 208t508.5 -208t203.5 -525.5t-203.5 -525t-508.5 -207.5t-509 207.5t-204 525zM188 717q0 -256 161 -423t404.5 -167t404.5 167t161 423t-161 423t-404.5 167t-404.5 -167t-161 -423zM514 516v397q0 254 231.5 254t231.5 -254v-73h-148 v86q0 98 -79.5 98t-79.5 -98v-418q0 -96 79.5 -96t79.5 96v123h148v-115q0 -250 -231.5 -250t-231.5 250z" />
|
||||
<glyph unicode="­" horiz-adv-x="552" d="M72 614v205h409v-205h-409z" />
|
||||
<glyph unicode="®" horiz-adv-x="1507" d="M41 716.5q0 317.5 204 525.5t509 208t508.5 -208t203.5 -525.5t-203.5 -525t-508.5 -207.5t-509 207.5t-204 525zM188 717q0 -256 161 -423t404.5 -167t404.5 167t161 423t-161 423t-404.5 167t-404.5 -167t-161 -423zM528 279v876h238q231 0 231 -229v-19 q0 -156 -106 -202q106 -43 106 -211v-95q1 -79 19 -120h-160q-14 37 -14 122v95q0 70 -24.5 98.5t-80.5 28.5h-53v-344h-156zM684 766h64q94 0 94 104v37q0 105 -84 105h-74v-246z" />
|
||||
<glyph unicode="´" horiz-adv-x="512" d="M55 1509l140 228h221l-209 -228h-152z" />
|
||||
<glyph unicode=" " horiz-adv-x="868" />
|
||||
<glyph unicode=" " horiz-adv-x="1737" />
|
||||
<glyph unicode=" " horiz-adv-x="868" />
|
||||
<glyph unicode=" " horiz-adv-x="1737" />
|
||||
<glyph unicode=" " horiz-adv-x="579" />
|
||||
<glyph unicode=" " horiz-adv-x="434" />
|
||||
<glyph unicode=" " horiz-adv-x="289" />
|
||||
<glyph unicode=" " horiz-adv-x="289" />
|
||||
<glyph unicode=" " horiz-adv-x="217" />
|
||||
<glyph unicode=" " horiz-adv-x="347" />
|
||||
<glyph unicode=" " horiz-adv-x="96" />
|
||||
<glyph unicode="‐" horiz-adv-x="552" d="M72 614v205h409v-205h-409z" />
|
||||
<glyph unicode="‑" horiz-adv-x="552" d="M72 614v205h409v-205h-409z" />
|
||||
<glyph unicode="‒" horiz-adv-x="552" d="M72 614v205h409v-205h-409z" />
|
||||
<glyph unicode="–" horiz-adv-x="1024" d="M0 625v184h1024v-184h-1024z" />
|
||||
<glyph unicode="—" horiz-adv-x="2048" d="M0 625v184h2048v-184h-2048z" />
|
||||
<glyph unicode="‘" horiz-adv-x="380" d="M82 1012v194l98 228h92l-59 -205h86v-217h-217z" />
|
||||
<glyph unicode="’" horiz-adv-x="380" d="M82 1217v217h217v-195l-98 -227h-92l59 205h-86z" />
|
||||
<glyph unicode="“" horiz-adv-x="679" d="M82 1012v194l98 228h92l-59 -205h86v-217h-217zM381 1012v194l98 228h92l-59 -205h86v-217h-217z" />
|
||||
<glyph unicode="”" horiz-adv-x="679" d="M82 1217v217h217v-195l-98 -227h-92l59 205h-86zM381 1217v217h217v-195l-98 -227h-92l59 205h-86z" />
|
||||
<glyph unicode="•" d="M121 717q0 119 83 201.5t201.5 82.5t201.5 -82.5t83 -201.5t-83 -202t-201.5 -83t-201.5 83t-83 202z" />
|
||||
<glyph unicode="…" horiz-adv-x="978" d="M82 0v217h217v-217h-217zM381 0v217h217v-217h-217zM680 0v217h217v-217h-217z" />
|
||||
<glyph unicode=" " horiz-adv-x="347" />
|
||||
<glyph unicode=" " horiz-adv-x="434" />
|
||||
<glyph unicode="€" d="M39 553v113h57v112h-57v113h57v199q0 174 83 267t247 93t247 -93t83 -267v-105h-213v119q0 141 -110.5 141t-110.5 -141v-213h315v-113h-315v-112h315v-113h-315v-223q0 -139 110 -140h1q110 0 110 140v129h213v-115q0 -174 -83 -267t-247 -93t-247 93t-83 267v209h-57z " />
|
||||
<glyph unicode="™" horiz-adv-x="1200" d="M20 1303v131h443v-131h-150v-598h-143v598h-150zM549 705v729h199l106 -512l96 512h199v-729h-135v518l-96 -518h-136l-108 514v-514h-125z" />
|
||||
<glyph unicode="" horiz-adv-x="1435" d="M0 1435h1435v-1435h-1435v1435z" />
|
||||
</font>
|
||||
</defs></svg>
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,57 @@
|
||||
____________________________________________________________________________________________________
|
||||
_____ _ _ __ ____ _ _ __ ______ _ _ ____ _____
|
||||
/ ) / / / | / ) / /| / | / | / / ) / '
|
||||
---/----/----/___ /-----/__|----/___ /----/| /-|----/__|--------/--------|---/-----/____/----/__----
|
||||
/ / / / / | / | / |/ | / | / | / / /
|
||||
_/____/____/____/_____/____|__/_____|___/__/___|__/____|______/__________|_/_____/_________/____ ___
|
||||
/
|
||||
(_ / DHARMA TYPE FREE FONTs
|
||||
|
||||
|
||||
EULA ( the End User License Agreement )
|
||||
|
||||
This document is a legal agreement between you the end user, and Dharma Type.
|
||||
By using or installing Dharma Type font(s), you agree to be bound by the terms of this Agreement.
|
||||
|
||||
1. You may use this font for both commercial and non-commercial works at no charge.
|
||||
2. You may use this font to create images on the website or printed matter on papre, logomark.....up to you.
|
||||
3. You may not sell this font without permission.
|
||||
4. You may not redistribute this font without permission.
|
||||
5. You may not modify, adapt, translate, reverse engineer, decompile, disassemble, or create derivative works based on this font.
|
||||
6. This font are Copyrighted by Ryoichi Tsunekawa. All rights reserved. You may not claim copyrgiht rights for this font.
|
||||
7. DISCLAIMER
|
||||
This font is provided to you free of charge.
|
||||
Dharma Type give no warranty in relation to this font, and you use this at your own risk.
|
||||
Dharma Type will not be liable for any damage to your system, any loss or corruption of any data or software,
|
||||
or any other loss or damage that you may suffer as a result of downloading or using this font, whether it results from our negligence or in any other way.
|
||||
|
||||
Here is a list of things you could do, Only if you want to:
|
||||
* Link http://dharmatype.com/ or credit "Dharma Type"
|
||||
* Tell me what did you use this font for.
|
||||
|
||||
|
||||
FAQ
|
||||
|
||||
Q_ Can I use this for a commercial product?
|
||||
A_ Yes, You can!
|
||||
|
||||
Q_ Can I use this on a web page via css @font-face?
|
||||
A_ Yes, You can!
|
||||
|
||||
Q_ Can I donate $ to you?
|
||||
A_ Yes, You can! ( Paypal: info@flat-it.com )
|
||||
|
||||
|
||||
|
||||
Contact_______________________________
|
||||
|
||||
info@dharmatype.com
|
||||
|
||||
Dharma Type (http://dharmatype.com)
|
||||
|
|
||||
|___ Flat it type foundry
|
||||
|
|
||||
|___ Prop-a-ganda
|
||||
|
|
||||
|___ Holiday Type
|
||||
______________________________________
|
After Width: | Height: | Size: 1.1 KiB |
BIN
lib/leaflet_plugins/leaflet-StyledLayerControl-5-16-2019/css/images/arrow_up.png
Executable file
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 5.3 KiB |
BIN
lib/leaflet_plugins/leaflet-StyledLayerControl-5-16-2019/css/images/check.png
Executable file
After Width: | Height: | Size: 566 B |
BIN
lib/leaflet_plugins/leaflet-StyledLayerControl-5-16-2019/css/images/delete.png
Executable file
After Width: | Height: | Size: 715 B |
BIN
lib/leaflet_plugins/leaflet-StyledLayerControl-5-16-2019/css/images/layers.png
Executable file
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,172 @@
|
||||
@font-face {
|
||||
font-family: BebasNeueRegular;
|
||||
src: url(fonts/BebasNeue-webfont.woff);
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Alegreya-Regular;
|
||||
src: url(fonts/Alegreya-Regular.ttf);
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Ubuntu-Medium;
|
||||
src: url(fonts/Ubuntu-Medium.ttf);
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Ubuntu-Regular;
|
||||
src: url(fonts/Ubuntu-Regular.ttf);
|
||||
}
|
||||
|
||||
|
||||
|
||||
.ac-container{
|
||||
width: auto;
|
||||
text-align: left;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
div[id^="leaflet-control-accordion-layers"] > label {
|
||||
font-family: 'BebasNeueRegular', 'Arial Narrow', Arial, sans-serif;
|
||||
padding: 5px 20px;
|
||||
position: relative;
|
||||
z-index: 20;
|
||||
display: block;
|
||||
height: 30px;
|
||||
cursor: pointer;
|
||||
color: #777;
|
||||
text-shadow: 1px 1px 1px rgba(255,255,255,0.8);
|
||||
line-height: 33px;
|
||||
font-size: 19px;
|
||||
background: #ffffff;
|
||||
background: -moz-linear-gradient(top, #ffffff 1%, #eaeaea 100%);
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(1%,#ffffff), color-stop(100%,#eaeaea));
|
||||
background: -webkit-linear-gradient(top, #ffffff 1%,#eaeaea 100%);
|
||||
background: -o-linear-gradient(top, #ffffff 1%,#eaeaea 100%);
|
||||
background: -ms-linear-gradient(top, #ffffff 1%,#eaeaea 100%);
|
||||
background: linear-gradient(top, #ffffff 1%,#eaeaea 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eaeaea',GradientType=0 );
|
||||
box-shadow:
|
||||
0px 0px 0px 1px rgba(155,155,155,0.3),
|
||||
1px 0px 0px 0px rgba(255,255,255,0.9) inset,
|
||||
0px 2px 2px rgba(0,0,0,0.1);
|
||||
box-sizing: content-box;
|
||||
cursor:pointer;
|
||||
width: auto;
|
||||
margin: 0;
|
||||
}
|
||||
div[id^="leaflet-control-accordion-layers"] > label:hover {
|
||||
background: #fff;
|
||||
}
|
||||
.ac-container input.menu:checked + label,
|
||||
.ac-container input.menu:checked + label:hover{
|
||||
background: #c6e1ec;
|
||||
color: #3d7489;
|
||||
text-shadow: 0px 1px 1px rgba(255,255,255, 0.6);
|
||||
box-shadow:
|
||||
0px 0px 0px 1px rgba(155,155,155,0.3),
|
||||
0px 2px 2px rgba(0,0,0,0.1);
|
||||
}
|
||||
.ac-container div[id^="leaflet-control-accordion-layers"] > label:hover:after,
|
||||
.ac-container input.menu:checked + div[id^="leaflet-control-accordion-layers"] > label:hover:after{
|
||||
content: '';
|
||||
position: absolute;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
right: 13px;
|
||||
top: 7px;
|
||||
background: transparent url(images/arrow_down.png) no-repeat center center;
|
||||
}
|
||||
.ac-container input.menu:checked + div[id^="leaflet-control-accordion-layers"] > label:hover:after{
|
||||
background-image: url(images/arrow_up.png);
|
||||
}
|
||||
.ac-container input.menu{
|
||||
display: none;
|
||||
}
|
||||
.ac-container article{
|
||||
background: rgba(255, 255, 255, 0.5);
|
||||
margin-top: -1px;
|
||||
overflow: hidden;
|
||||
height: 0px;
|
||||
padding: 0px;
|
||||
line-height: 0px;
|
||||
position: relative;
|
||||
z-index: 10;
|
||||
-webkit-transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
|
||||
-moz-transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
|
||||
-o-transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
|
||||
-ms-transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
|
||||
transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
|
||||
}
|
||||
|
||||
.ac-container input.menu:checked ~ article{
|
||||
-webkit-transition: height 0.5s ease-in-out, box-shadow 0.1s linear;
|
||||
-moz-transition: height 0.5s ease-in-out, box-shadow 0.1s linear;
|
||||
-o-transition: height 0.5s ease-in-out, box-shadow 0.1s linear;
|
||||
-ms-transition: height 0.5s ease-in-out, box-shadow 0.1s linear;
|
||||
transition: height 0.5s ease-in-out, box-shadow 0.1s linear;
|
||||
}
|
||||
|
||||
.ac-container input.menu:checked ~ article.ac-large{
|
||||
height: auto;
|
||||
max-height : 100px;
|
||||
padding: 8px 0;
|
||||
overflow-y: auto;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.ac-container article label {
|
||||
display: inline;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ac-container .group-toggle-container {
|
||||
text-align: right;
|
||||
margin-right: 3px;
|
||||
line-height: 0px;
|
||||
display: none;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.ac-container input.menu:checked ~ .group-toggle-container {
|
||||
display: block;
|
||||
line-height: 1em;
|
||||
}
|
||||
|
||||
.menu-item-radio{
|
||||
font-family: 'Ubuntu-Regular', Arial, sans-serif;
|
||||
font-size: 13px;
|
||||
|
||||
}
|
||||
|
||||
.menu-item-checkbox{
|
||||
font-family: 'Ubuntu-Regular', Arial, sans-serif;
|
||||
font-size: 13px;
|
||||
|
||||
}
|
||||
|
||||
.bt_delete{
|
||||
position: relative;
|
||||
float: right;
|
||||
background-image: url(images/delete.png);
|
||||
background-color: transparent;
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0px 0px;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.leaflet-control-layers-expanded {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.leaflet-control-layers:hover {
|
||||
box-shadow: 0 1px 5px rgba(0,0,0,0.4);
|
||||
background: #e0e3ec url(images/bgnoise_lg.jpg) repeat top left;
|
||||
border-radius: 5px;
|
||||
}
|
@@ -0,0 +1,564 @@
|
||||
L.Control.StyledLayerControl = L.Control.Layers.extend({
|
||||
options: {
|
||||
collapsed: true,
|
||||
position: 'topright',
|
||||
autoZIndex: true,
|
||||
group_togglers: {
|
||||
show: false,
|
||||
labelAll: 'All',
|
||||
labelNone: 'None'
|
||||
},
|
||||
groupDeleteLabel: 'Delete the group'
|
||||
},
|
||||
|
||||
initialize: function(baseLayers, groupedOverlays, options) {
|
||||
var i,
|
||||
j;
|
||||
L.Util.setOptions(this, options);
|
||||
|
||||
this._layerControlInputs = [];
|
||||
this._layers = [];
|
||||
this._lastZIndex = 0;
|
||||
this._handlingClick = false;
|
||||
this._groupList = [];
|
||||
this._domGroups = [];
|
||||
|
||||
for (i in baseLayers) {
|
||||
for (var j in baseLayers[i].layers) {
|
||||
this._addLayer(baseLayers[i].layers[j], j, baseLayers[i], false);
|
||||
}
|
||||
}
|
||||
|
||||
for (i in groupedOverlays) {
|
||||
for (var j in groupedOverlays[i].layers) {
|
||||
this._addLayer(groupedOverlays[i].layers[j], j, groupedOverlays[i], true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
|
||||
onAdd: function(map) {
|
||||
this._initLayout();
|
||||
this._update();
|
||||
|
||||
map
|
||||
.on('layeradd', this._onLayerChange, this)
|
||||
.on('layerremove', this._onLayerChange, this)
|
||||
.on('zoomend', this._onZoomEnd, this);
|
||||
|
||||
return this._container;
|
||||
},
|
||||
|
||||
onRemove: function(map) {
|
||||
map
|
||||
.off('layeradd', this._onLayerChange)
|
||||
.off('layerremove', this._onLayerChange);
|
||||
},
|
||||
|
||||
addBaseLayer: function(layer, name, group) {
|
||||
this._addLayer(layer, name, group, false);
|
||||
this._update();
|
||||
return this;
|
||||
},
|
||||
|
||||
addOverlay: function(layer, name, group) {
|
||||
this._addLayer(layer, name, group, true);
|
||||
this._update();
|
||||
return this;
|
||||
},
|
||||
|
||||
removeLayer: function(layer) {
|
||||
var id = L.Util.stamp(layer);
|
||||
delete this._layers[id];
|
||||
this._update();
|
||||
return this;
|
||||
},
|
||||
|
||||
removeGroup: function(group_Name, del) {
|
||||
for (group in this._groupList) {
|
||||
if (this._groupList[group].groupName == group_Name) {
|
||||
for (layer in this._layers) {
|
||||
if (this._layers[layer].group && this._layers[layer].group.name == group_Name) {
|
||||
if (del) {
|
||||
this._map.removeLayer(this._layers[layer].layer);
|
||||
}
|
||||
delete this._layers[layer];
|
||||
}
|
||||
}
|
||||
delete this._groupList[group];
|
||||
this._update();
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
removeAllGroups: function(del) {
|
||||
for (group in this._groupList) {
|
||||
for (layer in this._layers) {
|
||||
if (this._layers[layer].group && this._layers[layer].group.removable) {
|
||||
if (del) {
|
||||
this._map.removeLayer(this._layers[layer].layer);
|
||||
}
|
||||
delete this._layers[layer];
|
||||
}
|
||||
}
|
||||
delete this._groupList[group];
|
||||
}
|
||||
this._update();
|
||||
},
|
||||
|
||||
selectLayer: function(layer) {
|
||||
this._map.addLayer(layer);
|
||||
this._update();
|
||||
},
|
||||
|
||||
unSelectLayer: function(layer) {
|
||||
this._map.removeLayer(layer);
|
||||
this._update();
|
||||
},
|
||||
|
||||
selectGroup: function(group_Name) {
|
||||
this.changeGroup(group_Name, true)
|
||||
},
|
||||
|
||||
unSelectGroup: function(group_Name) {
|
||||
this.changeGroup(group_Name, false)
|
||||
},
|
||||
|
||||
changeGroup: function(group_Name, select) {
|
||||
for (group in this._groupList) {
|
||||
if (this._groupList[group].groupName == group_Name) {
|
||||
for (layer in this._layers) {
|
||||
if (this._layers[layer].group && this._layers[layer].group.name == group_Name) {
|
||||
if (select) {
|
||||
this._map.addLayer(this._layers[layer].layer);
|
||||
} else {
|
||||
this._map.removeLayer(this._layers[layer].layer);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
this._update();
|
||||
},
|
||||
|
||||
|
||||
_initLayout: function() {
|
||||
var className = 'leaflet-control-layers',
|
||||
container = this._container = L.DomUtil.create('div', className);
|
||||
|
||||
//Makes this work on IE10 Touch devices by stopping it from firing a mouseout event when the touch is released
|
||||
container.setAttribute('aria-haspopup', true);
|
||||
|
||||
if (!L.Browser.touch) {
|
||||
L.DomEvent.disableClickPropagation(container);
|
||||
L.DomEvent.on(container, 'wheel', L.DomEvent.stopPropagation);
|
||||
} else {
|
||||
L.DomEvent.on(container, 'click', L.DomEvent.stopPropagation);
|
||||
}
|
||||
|
||||
var section = document.createElement('section');
|
||||
section.className = 'ac-container ' + className + '-list';
|
||||
|
||||
var form = this._form = this._section = L.DomUtil.create('form');
|
||||
|
||||
section.appendChild(form);
|
||||
|
||||
if (this.options.collapsed) {
|
||||
if (!L.Browser.android) {
|
||||
L.DomEvent
|
||||
.on(container, 'mouseover', this._expand, this)
|
||||
.on(container, 'mouseout', this._collapse, this);
|
||||
}
|
||||
var link = this._layersLink = L.DomUtil.create('a', className + '-toggle', container);
|
||||
link.href = '#';
|
||||
link.title = 'Layers';
|
||||
|
||||
if (L.Browser.touch) {
|
||||
L.DomEvent
|
||||
.on(link, 'click', L.DomEvent.stop)
|
||||
.on(link, 'click', this._expand, this);
|
||||
} else {
|
||||
L.DomEvent.on(link, 'focus', this._expand, this);
|
||||
}
|
||||
|
||||
this._map.on('click', this._collapse, this);
|
||||
// TODO keyboard accessibility
|
||||
|
||||
} else {
|
||||
this._expand();
|
||||
}
|
||||
|
||||
this._baseLayersList = L.DomUtil.create('div', className + '-base', form);
|
||||
this._overlaysList = L.DomUtil.create('div', className + '-overlays', form);
|
||||
|
||||
container.appendChild(section);
|
||||
|
||||
// process options of ac-container css class - to options.container_width and options.container_maxHeight
|
||||
for (var c = 0; c < (containers = container.getElementsByClassName('ac-container')).length; c++) {
|
||||
if (this.options.container_width) {
|
||||
containers[c].style.width = this.options.container_width;
|
||||
}
|
||||
|
||||
// set the max-height of control to y value of map object
|
||||
this._default_maxHeight = this.options.container_maxHeight ? this.options.container_maxHeight : (this._map.getSize().y - 70);
|
||||
containers[c].style.maxHeight = this._default_maxHeight;
|
||||
|
||||
}
|
||||
|
||||
window.onresize = this._on_resize_window.bind(this);
|
||||
|
||||
},
|
||||
|
||||
_on_resize_window: function() {
|
||||
// listen to resize of screen to reajust de maxHeight of container
|
||||
for (var c = 0; c < containers.length; c++) {
|
||||
// input the new value to height
|
||||
containers[c].style.maxHeight = (window.innerHeight - 90) < this._removePxToInt(this._default_maxHeight) ? (window.innerHeight - 90) + "px" : this._removePxToInt(this._default_maxHeight) + "px";
|
||||
}
|
||||
},
|
||||
|
||||
// remove the px from a css value and convert to a int
|
||||
_removePxToInt: function(value) {
|
||||
if (typeof value === 'string') {
|
||||
return parseInt(value.replace("px", ""));
|
||||
}
|
||||
return value;
|
||||
},
|
||||
|
||||
_addLayer: function(layer, name, group, overlay) {
|
||||
var id = L.Util.stamp(layer);
|
||||
|
||||
this._layers[id] = {
|
||||
layer: layer,
|
||||
name: name,
|
||||
overlay: overlay
|
||||
};
|
||||
|
||||
if (group) {
|
||||
var groupId = this._groupList.indexOf(group);
|
||||
|
||||
// if not find the group search for the name
|
||||
if (groupId === -1) {
|
||||
for (g in this._groupList) {
|
||||
if (this._groupList[g].groupName == group.groupName) {
|
||||
groupId = g;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (groupId === -1) {
|
||||
groupId = this._groupList.push(group) - 1;
|
||||
}
|
||||
|
||||
this._layers[id].group = {
|
||||
name: group.groupName,
|
||||
id: groupId,
|
||||
expanded: group.expanded,
|
||||
removable: group.removable
|
||||
};
|
||||
}
|
||||
|
||||
if (this.options.autoZIndex && layer.setZIndex) {
|
||||
this._lastZIndex++;
|
||||
layer.setZIndex(this._lastZIndex);
|
||||
}
|
||||
},
|
||||
|
||||
_update: function() {
|
||||
if (!this._container) {
|
||||
return;
|
||||
}
|
||||
|
||||
this._baseLayersList.innerHTML = '';
|
||||
this._overlaysList.innerHTML = '';
|
||||
|
||||
this._domGroups.length = 0;
|
||||
|
||||
this._layerControlInputs = [];
|
||||
|
||||
var baseLayersPresent = false,
|
||||
overlaysPresent = false,
|
||||
i,
|
||||
obj;
|
||||
|
||||
for (i in this._layers) {
|
||||
obj = this._layers[i];
|
||||
this._addItem(obj);
|
||||
overlaysPresent = overlaysPresent || obj.overlay;
|
||||
baseLayersPresent = baseLayersPresent || !obj.overlay;
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
_onLayerChange: function(e) {
|
||||
var obj = this._layers[L.Util.stamp(e.layer)];
|
||||
|
||||
if (!obj) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this._handlingClick) {
|
||||
this._update();
|
||||
}
|
||||
|
||||
var type = obj.overlay ?
|
||||
(e.type === 'layeradd' ? 'overlayadd' : 'overlayremove') :
|
||||
(e.type === 'layeradd' ? 'baselayerchange' : null);
|
||||
|
||||
this._checkIfDisabled();
|
||||
|
||||
if (type) {
|
||||
this._map.fire(type, obj);
|
||||
}
|
||||
},
|
||||
|
||||
_onZoomEnd: function(e) {
|
||||
this._checkIfDisabled();
|
||||
},
|
||||
|
||||
_checkIfDisabled: function(layers) {
|
||||
var currentZoom = this._map.getZoom();
|
||||
|
||||
for (layerId in this._layers) {
|
||||
if (this._layers[layerId].layer.options && (this._layers[layerId].layer.options.minZoom || this._layers[layerId].layer.options.maxZoom)) {
|
||||
var el = document.getElementById('ac_layer_input_' + this._layers[layerId].layer._leaflet_id);
|
||||
if (currentZoom < this._layers[layerId].layer.options.minZoom || currentZoom > this._layers[layerId].layer.options.maxZoom) {
|
||||
el.disabled = 'disabled';
|
||||
} else {
|
||||
el.disabled = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// IE7 bugs out if you create a radio dynamically, so you have to do it this hacky way (see http://bit.ly/PqYLBe)
|
||||
_createRadioElement: function(name, checked) {
|
||||
|
||||
var radioHtml = '<input type="radio" class="leaflet-control-layers-selector" name="' + name + '"';
|
||||
if (checked) {
|
||||
radioHtml += ' checked="checked"';
|
||||
}
|
||||
radioHtml += '/>';
|
||||
|
||||
var radioFragment = document.createElement('div');
|
||||
radioFragment.innerHTML = radioHtml;
|
||||
|
||||
return radioFragment.firstChild;
|
||||
},
|
||||
|
||||
_addItem: function(obj) {
|
||||
var label = document.createElement('div'),
|
||||
input,
|
||||
checked = this._map.hasLayer(obj.layer),
|
||||
id = 'ac_layer_input_' + obj.layer._leaflet_id,
|
||||
container;
|
||||
|
||||
|
||||
if (obj.overlay) {
|
||||
input = document.createElement('input');
|
||||
input.type = 'checkbox';
|
||||
input.className = 'leaflet-control-layers-selector';
|
||||
input.defaultChecked = checked;
|
||||
|
||||
label.className = "menu-item-checkbox";
|
||||
input.id = id;
|
||||
|
||||
} else {
|
||||
input = this._createRadioElement('leaflet-base-layers', checked);
|
||||
|
||||
label.className = "menu-item-radio";
|
||||
input.id = id;
|
||||
}
|
||||
|
||||
this._layerControlInputs.push(input);
|
||||
input.layerId = L.Util.stamp(obj.layer);
|
||||
|
||||
L.DomEvent.on(input, 'click', this._onInputClick, this);
|
||||
|
||||
var name = document.createElement('label');
|
||||
name.innerHTML = '<label for="' + id + '">' + obj.name + '</label>';
|
||||
|
||||
label.appendChild(input);
|
||||
label.appendChild(name);
|
||||
|
||||
if (obj.layer.StyledLayerControl) {
|
||||
|
||||
// configure the delete button for layers with attribute removable = true
|
||||
if (obj.layer.StyledLayerControl.removable) {
|
||||
var bt_delete = document.createElement("input");
|
||||
bt_delete.type = "button";
|
||||
bt_delete.className = "bt_delete";
|
||||
L.DomEvent.on(bt_delete, 'click', this._onDeleteClick, this);
|
||||
label.appendChild(bt_delete);
|
||||
}
|
||||
|
||||
// configure the visible attribute to layer
|
||||
if (obj.layer.StyledLayerControl.visible) {
|
||||
this._map.addLayer(obj.layer);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (obj.overlay) {
|
||||
container = this._overlaysList;
|
||||
} else {
|
||||
container = this._baseLayersList;
|
||||
}
|
||||
|
||||
var groupContainer = this._domGroups[obj.group.id];
|
||||
|
||||
if (!groupContainer) {
|
||||
|
||||
groupContainer = document.createElement('div');
|
||||
groupContainer.id = 'leaflet-control-accordion-layers-' + obj.group.id;
|
||||
|
||||
// verify if group is expanded
|
||||
var s_expanded = obj.group.expanded ? ' checked = "true" ' : '';
|
||||
|
||||
// verify if type is exclusive
|
||||
var s_type_exclusive = this.options.exclusive ? ' type="radio" ' : ' type="checkbox" ';
|
||||
|
||||
inputElement = '<input id="ac' + obj.group.id + '" name="accordion-1" class="menu" ' + s_expanded + s_type_exclusive + '/>';
|
||||
inputLabel = '<label for="ac' + obj.group.id + '">' + obj.group.name + '</label>';
|
||||
|
||||
article = document.createElement('article');
|
||||
article.className = 'ac-large';
|
||||
article.appendChild(label);
|
||||
|
||||
// process options of ac-large css class - to options.group_maxHeight property
|
||||
if (this.options.group_maxHeight) {
|
||||
article.style.maxHeight = this.options.group_maxHeight;
|
||||
}
|
||||
|
||||
groupContainer.innerHTML = inputElement + inputLabel;
|
||||
groupContainer.appendChild(article);
|
||||
|
||||
// Link to toggle all layers
|
||||
if (obj.overlay && this.options.group_togglers.show) {
|
||||
|
||||
// Toggler container
|
||||
var togglerContainer = L.DomUtil.create('div', 'group-toggle-container', groupContainer);
|
||||
|
||||
// Link All
|
||||
var linkAll = L.DomUtil.create('a', 'group-toggle-all', togglerContainer);
|
||||
linkAll.href = '#';
|
||||
linkAll.title = this.options.group_togglers.labelAll;
|
||||
linkAll.innerHTML = this.options.group_togglers.labelAll;
|
||||
linkAll.setAttribute("data-group-name", obj.group.name);
|
||||
|
||||
if (L.Browser.touch) {
|
||||
L.DomEvent
|
||||
.on(linkAll, 'click', L.DomEvent.stop)
|
||||
.on(linkAll, 'click', this._onSelectGroup, this);
|
||||
} else {
|
||||
L.DomEvent
|
||||
.on(linkAll, 'click', L.DomEvent.stop)
|
||||
.on(linkAll, 'focus', this._onSelectGroup, this);
|
||||
}
|
||||
|
||||
// Separator
|
||||
var separator = L.DomUtil.create('span', 'group-toggle-divider', togglerContainer);
|
||||
separator.innerHTML = ' / ';
|
||||
|
||||
// Link none
|
||||
var linkNone = L.DomUtil.create('a', 'group-toggle-none', togglerContainer);
|
||||
linkNone.href = '#';
|
||||
linkNone.title = this.options.group_togglers.labelNone;
|
||||
linkNone.innerHTML = this.options.group_togglers.labelNone;
|
||||
linkNone.setAttribute("data-group-name", obj.group.name);
|
||||
|
||||
if (L.Browser.touch) {
|
||||
L.DomEvent
|
||||
.on(linkNone, 'click', L.DomEvent.stop)
|
||||
.on(linkNone, 'click', this._onUnSelectGroup, this);
|
||||
} else {
|
||||
L.DomEvent
|
||||
.on(linkNone, 'click', L.DomEvent.stop)
|
||||
.on(linkNone, 'focus', this._onUnSelectGroup, this);
|
||||
}
|
||||
|
||||
if (obj.overlay && this.options.group_togglers.show && obj.group.removable) {
|
||||
// Separator
|
||||
var separator = L.DomUtil.create('span', 'group-toggle-divider', togglerContainer);
|
||||
separator.innerHTML = ' / ';
|
||||
}
|
||||
|
||||
if (obj.group.removable) {
|
||||
// Link delete group
|
||||
var linkRemove = L.DomUtil.create('a', 'group-toggle-none', togglerContainer);
|
||||
linkRemove.href = '#';
|
||||
linkRemove.title = this.options.groupDeleteLabel;
|
||||
linkRemove.innerHTML = this.options.groupDeleteLabel;
|
||||
linkRemove.setAttribute("data-group-name", obj.group.name);
|
||||
|
||||
if (L.Browser.touch) {
|
||||
L.DomEvent
|
||||
.on(linkRemove, 'click', L.DomEvent.stop)
|
||||
.on(linkRemove, 'click', this._onRemoveGroup, this);
|
||||
} else {
|
||||
L.DomEvent
|
||||
.on(linkRemove, 'click', L.DomEvent.stop)
|
||||
.on(linkRemove, 'focus', this._onRemoveGroup, this);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
container.appendChild(groupContainer);
|
||||
|
||||
this._domGroups[obj.group.id] = groupContainer;
|
||||
} else {
|
||||
groupContainer.getElementsByTagName('article')[0].appendChild(label);
|
||||
}
|
||||
|
||||
|
||||
return label;
|
||||
},
|
||||
|
||||
_onDeleteClick: function(obj) {
|
||||
var node = obj.target.parentElement.childNodes[0];
|
||||
n_obj = this._layers[node.layerId];
|
||||
|
||||
// verify if obj is a basemap and checked to not remove
|
||||
if (!n_obj.overlay && node.checked) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this._map.hasLayer(n_obj.layer)) {
|
||||
this._map.removeLayer(n_obj.layer);
|
||||
}
|
||||
|
||||
obj.target.parentNode.remove();
|
||||
|
||||
return false;
|
||||
},
|
||||
|
||||
_onSelectGroup: function(e) {
|
||||
this.selectGroup(e.target.getAttribute("data-group-name"));
|
||||
},
|
||||
|
||||
_onUnSelectGroup: function(e) {
|
||||
this.unSelectGroup(e.target.getAttribute("data-group-name"));
|
||||
},
|
||||
|
||||
_onRemoveGroup: function(e) {
|
||||
this.removeGroup(e.target.getAttribute("data-group-name"), true);
|
||||
},
|
||||
|
||||
_expand: function() {
|
||||
L.DomUtil.addClass(this._container, 'leaflet-control-layers-expanded');
|
||||
},
|
||||
|
||||
_collapse: function() {
|
||||
this._container.className = this._container.className.replace(' leaflet-control-layers-expanded', '');
|
||||
}
|
||||
});
|
||||
|
||||
L.Control.styledLayerControl = function(baseLayers, overlays, options) {
|
||||
return new L.Control.StyledLayerControl(baseLayers, overlays, options);
|
||||
};
|