MCPcopy
hub / github.com/python-visualization/folium / GeoMan

Class GeoMan

folium/plugins/geoman.py:8–145  ·  view source on GitHub ↗

An Open Source Leaflet Plugin for editing polygons Examples -------- >>> m = folium.Map() >>> Geoman().add_to(m) For more info please check https://github.com/geoman-io/leaflet-geoman/

Source from the content-addressed store, hash-verified

6
7
8class GeoMan(JSCSSMixin, MacroElement):
9 """
10 An Open Source Leaflet Plugin for editing polygons
11
12 Examples
13 --------
14 >>> m = folium.Map()
15 >>> Geoman().add_to(m)
16
17 For more info please check
18 https://github.com/geoman-io/leaflet-geoman/
19
20 """
21
22 _template = Template(
23 """
24 {% macro script(this, kwargs) %}
25 /* ensure the name is usable */
26 var {{this.get_name()}} = {{this._parent.get_name()}}.pm;
27 {%- if this.feature_group %}
28 var drawnItems_{{ this.get_name() }} =
29 {{ this.feature_group.get_name() }};
30 {%- else %}
31 // FeatureGroup is to store editable layers.
32 var drawnItems_{{ this.get_name() }} =
33 new L.featureGroup().addTo(
34 {{ this._parent.get_name() }}
35 );
36 {%- endif %}
37 /* The global variable below is needed to prevent streamlit-folium
38 from barfing :-(
39 */
40 var drawnItems = drawnItems_{{ this.get_name() }};
41
42 {{this.get_name()}}.addControls(
43 {{this.options|tojavascript}}
44 )
45 drawnItems_{{ this.get_name() }}.eachLayer(function(layer){
46 L.PM.reInitLayer(layer);
47 {%- for event, handler in this.on.items() %}
48 layer.on(
49 "{{event}}",
50 {{handler}}
51 );
52 {%- endfor %}
53 });
54
55 {{ this._parent.get_name() }}.on("pm:create", function(e) {
56 var layer = e.layer,
57 type = e.layerType;
58
59 {%- for event, handler in this.on.items() %}
60 layer.on(
61 "{{event}}",
62 {{handler}}
63 );
64 {%- endfor %}
65 });

Callers 1

Calls 1

TemplateClass · 0.90

Tested by

no test coverage detected