Skip to content

Commit 963cc0b

Browse files
committed
draggable layer control
1 parent eba0fae commit 963cc0b

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

folium/map.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ class LayerControl(MacroElement):
153153
_template = Template(
154154
"""
155155
{% macro script(this,kwargs) %}
156-
var {{ this.get_name() }} = {
156+
var {{ this.get_name() }}_layers = {
157157
base_layers : {
158158
{%- for key, val in this.base_layers.items() %}
159159
{{ key|tojson }} : {{val}},
@@ -165,12 +165,16 @@ class LayerControl(MacroElement):
165165
{%- endfor %}
166166
},
167167
};
168-
L.control.layers(
169-
{{ this.get_name() }}.base_layers,
170-
{{ this.get_name() }}.overlays,
168+
let {{ this.get_name() }} = L.control.layers(
169+
{{ this.get_name() }}_layers.base_layers,
170+
{{ this.get_name() }}_layers.overlays,
171171
{{ this.options|tojson }}
172172
).addTo({{this._parent.get_name()}});
173173
174+
{%- if this.draggable %}
175+
new L.Draggable({{ this.get_name() }}.getContainer()).enable();
176+
{%- endif %}
177+
174178
{% endmacro %}
175179
"""
176180
)
@@ -180,13 +184,15 @@ def __init__(
180184
position: str = "topright",
181185
collapsed: bool = True,
182186
autoZIndex: bool = True,
187+
draggable: bool = False,
183188
**kwargs: TypeJsonValue,
184189
):
185190
super().__init__()
186191
self._name = "LayerControl"
187192
self.options = parse_options(
188193
position=position, collapsed=collapsed, autoZIndex=autoZIndex, **kwargs
189194
)
195+
self.draggable = draggable
190196
self.base_layers: OrderedDict[str, str] = OrderedDict()
191197
self.overlays: OrderedDict[str, str] = OrderedDict()
192198

0 commit comments

Comments
 (0)