2017-01-05 5 views
2

Ich verwende das Leaflet sidebar V2 Plugin und frage mich, ob es möglich ist, ein Blättchen-Layer-Steuermenü in die Seitenleiste zu legen? Jede Hilfe wird sehr geschätzt! Vielen Dank!Hinzufügen von Leaflet-Layer-Steuerelement zu Sidebar

+0

Ja, es ist möglich Ofc, aber Sie müssten Ihre eigenen Leaflet-Layer-Steuerelement erstellen und die Schicht von dort zu tun, gibt es keine Integration mit dem Plugin, nur um es in der Seitenleiste verschieben. –

+0

Danke! Ich werde es versuchen. – Heather

Antwort

0

Verwenden Sie einfach this Hinweis. Es entfernt das L.control-Element aus dem Kartencontainer und fügt es einem neuen übergeordneten Element hinzu. Sie können dies für die Seitenleiste direkt tun.

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); 

Für mich ist diese Lösung funktionierte gut.