Skip to content

Instantly share code, notes, and snippets.

@mastersigat
Last active January 18, 2023 13:06
Show Gist options
  • Save mastersigat/aab01f7f60375a6cfb48634ac8c16131 to your computer and use it in GitHub Desktop.
Save mastersigat/aab01f7f60375a6cfb48634ac8c16131 to your computer and use it in GitHub Desktop.
#Leaflet / WMS + Menu Checkbox
license: mit
<!DOCTYPE html>
<html>
<head>
<title>Leaflet Panel Layers</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=0.8, maximum-scale=0.8, user-scalable=no" />
<link rel="stylesheet" href="https://d19vzq90twjlae.cloudfront.net/leaflet-0.7.3/leaflet.css" />
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.6.0/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.6.0/dist/leaflet.js"></script>
<script src="http://labs.easyblog.it/maps/leaflet-panel-layers/src/leaflet-panel-layers.js"></script>
<style>
#map {width: 95%; height:800px; margin: auto; }
</style>
</head>
<body>
<br />
<div id="map"></div>
<script>
var map = L.map('map', {
zoom: 17,
center: L.latLng([48.113, -1.672])
}),
ESRI = new L.TileLayer('http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}');
map.addLayer(ESRI);
var baseLayers = [
{
group: "Fonds de carte",
layers: [
{
name: "ESRI World Topo Map",
layer: ESRI
},
{
name: "OSM",
layer: L.tileLayer("http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png")
},
{
name: "Aerial",
layer: L.tileLayer.wms('https://public.sig.rennesmetropole.fr/geoserver/ows?',
{layers: 'raster:ortho2014', opacity: 0.7})
},
]
},
{
group: "Sources externes",
collapsed: true,
layers: [
{
name: "Open Cycle Map",
layer: L.tileLayer('http://{s}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png')
},
{
name: "Transports",
layer: L.tileLayer('http://{s}.tile2.opencyclemap.org/transport/{z}/{x}/{y}.png')
}
]
}
];
var overLayers = [
{
group: "Informations Cadastrales",
layers: [
{
active: true,
name: "Parcel Bati",
layer: {
type: "tileLayer.wms",
args: ['http://mapsref.brgm.fr/wxs/refcom-brgm/refign',
{layers: 'PARVEC_BATIMENT',format: 'image/png',transparent:true,
//minZoom: 13
}
]
}
},
{
active: false,
name: "DIVCAD",
layer: {
type: "tileLayer.wms",
args: ['http://mapsref.brgm.fr/wxs/refcom-brgm/refign',
{layers: 'PARVEC_DIVCAD',format: 'image/png',transparent: true,
}
]
}
},
{
active: false,
name: "refcadastre",
layer: {
type: "tileLayer.wms",
args: ['https://public.sig.rennesmetropole.fr/geoserver/ows?',
{layers: 'ref_cad:cadastre',format: 'image/png',transparent: true,
}
]
}
},
]
},
{
group: "Données thémtiques",
layers: [
{
active: false,
name: "Bati",
layer: {
type: "tileLayer.wms",
args: ['http://mapsref.brgm.fr/wxs/refcom-brgm/refign',
{layers: 'TOPO_E_BATI',format: 'image/png',transparent:true,
//minZoom: 13
}
]
}
},
{
active: false,
name: "Organismes et sites",
layer: {
type: "tileLayer.wms",
args: ['https://public.sig.rennesmetropole.fr/geoserver/ows',
{layers: 'eq_poi:v_sitorg_organisme',format: 'image/png',transparent: true,
}
]
}
}
]
}
];
var panelLayers = new L.Control.PanelLayers(baseLayers, null, {
compact: true,
collapsed: false,
position: 'topleft',
}).addTo(map);
var panelLayers2 = new L.Control.PanelLayers(null, overLayers, {
//compact: false,
//collapsed: true,
position: 'topright',
collapsibleGroups: false,
}).addTo(map);
var scale = L.control.scale().addTo(map);
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment