向侧边栏添加Leaflet图层控制

4
我正在使用Leaflet sidebar V2插件,并想知道是否可以将leaflet图层控制菜单放入侧边栏中?非常感谢您的帮助!谢谢!

当然可以,但您需要创建自己的leaflet图层控件,并从那里进行图层切换,没有与插件的集成只是将其移动到侧边栏中。 - Marko Letic
谢谢!我会尝试一下。 - Heather
1个回答

2

只需使用这个提示。它将L.control元素从地图容器中移除并添加到新的父元素中。你可以直接为侧边栏做同样的操作。

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

对我来说,这个解决方案很有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接