带有层树的叶子地图

问题描述

有人知道如何将小叶图层树插件添加到叶片地图吗?我尝试着看其他插件来上手,但是我对javascript不太熟悉。基本上,我正在尝试将大叶草图层树格式化为具有组图层(例如:“ Cities”)的位置,然后格式化该组中的子图层(例如:“ City1”,“ City2”),可以对其进行打开/关闭检查。每个城市都是一个geojson图层。有任何想法吗?可能已经完全关闭了,但这是我到目前为止所拥有的:

from branca.element import CssLink,Figure,JavascriptLink,MacroElement
from jinja2 import Template
_default_js = [
('Layer_Tree_Control_js','https://raw.githubusercontent.com/bambrikii/leaflet-layer-tree-plugin/master/src/leaflet-layer-tree-control.js'),('Layer_Tree_Control_Zoom_js','https://raw.githubusercontent.com/bambrikii/leaflet-layer-tree-plugin/master/src/leaflet-layer-tree-control-wfs-zoom.js')
]

class LayerTreeControl(MacroElement):
   _template = Template("""
    {% macro script(this,kwargs) %}
        L.Control.LayerTreeControl(
            {{ this.options|tojson }}
        ).addTo({{this._parent.get_name()}});
    {% endmacro %}""")

def __init__(self,options,**kwargs):
    super(LayerTreeControl,self).__init__()
    self._name = 'LayerTreeControl'
    self.layerTree = options['layerTree']
    self.layerBuilders = options['layerBuilders']

def render(self,self).render()
    figure = self.get_root()
    assert isinstance(figure,Figure)
    
    figure.header.add_child(
        JavascriptLink('https://raw.githubusercontent.com/bambrikii/leaflet-layer-tree-plugin/master/src/leaflet-layer-tree-control.js'),# noqa
        name='Layer_Tree_Control_js')
    
    # Import Javascripts
    for name,url in _default_js:
        figure.header.add_child(JavascriptLink(url),name=name)

    LayerTreeControl({'layerTree': 'City1','layerBuilders': 'City2'}).add_to(m)
    folium_static(m,height=800,width=1350)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)