问题
I'm using the Leaflet sidebar V2 plugin and am wondering if it is possible to put a leaflet layer control menu into the sidebar? Any help is greatly appreciated! Thanks!
回答1:
Just use this hint. It removes the L.control element from the map container and adds it to a new parent. You can do this for the sidebar straight forward.
HTML:
<div id="sidebar" class="sidebar collapsed">
<div class="sidebar-tabs">
<ul role="tablist">
<li>....</li>
<li>....</li>
</ul>
</div>
<div class="sidebar-content">
<div class="sidebar-pane" id="">
<h1 class="sidebar-header">...</h1>
<div id="example"> <!--Here the layer control menu will be added--></div>
</div>
</div>
JS:
var layer = L.control.layers(baseMaps, overlayMaps).addTo(map);
var htmlObject = layer.getContainer();
var a = document.getElementById('example')
function setParent(el, newParent){
newParent.appendChild(el);
}
setParent(htmlObject, a);
For me, this solution worked well.
来源:https://stackoverflow.com/questions/41475855/adding-leaflet-layer-control-to-sidebar