Skip to content

Commit 7aad5e0

Browse files
committed
GeoJSON popup.
1 parent a3cdfae commit 7aad5e0

File tree

4 files changed

+19
-4
lines changed

4 files changed

+19
-4
lines changed

CHANGES.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
0.1.5.dev
2+
~~~~~~~~~
3+
- GeoJSON popup. @ocefpaf
4+
15
0.1.4
26
~~~~~
37
- Popups allow unicode. @apatil

folium/folium.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -850,7 +850,8 @@ def json_style(style_cnt, line_color, line_weight, line_opacity,
850850
style = json_style(style_count, line_color, line_weight,
851851
line_opacity, fill_color, fill_opacity, None)
852852

853-
layer = ('gJson_layer_{0} = L.geoJson({1}, {{style: {2}}}).addTo(map)'
853+
layer = ('gJson_layer_{0} = L.geoJson({1}, {{style: {2},'
854+
'onEachFeature: onEachFeature}}).addTo(map)'
854855
.format(self.mark_cnt['geojson'], layer_var, style_count))
855856

856857
self.template_vars.setdefault('json_paths', []).append(geo_path)

folium/templates/geojson_template.html

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,13 @@
4848
{%- endfor %}
4949
.await(makeMap)
5050

51+
function onEachFeature(feature, layer) {
52+
// does this feature have a property named popupContent?
53+
if (feature.properties && feature.properties.popupContent) {
54+
layer.bindPopup(feature.properties.popupContent);
55+
}
56+
};
57+
5158
function makeMap(error, {% for var in func_vars %}{{ var }}
5259
{%- if not loop.last %},{%- endif %}{%- endfor %}) {
5360

tests/folium_tests.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,8 @@ def test_geo_json(self):
272272
'line_opacity': 1,
273273
'fill_color': 'blue',
274274
'fill_opacity': 0.6})
275-
layer = ('gJson_layer_{0} = L.geoJson({1}, {{style: {2}}}).addTo(map)'
275+
layer = ('gJson_layer_{0} = L.geoJson({1}, {{style: {2},'
276+
'onEachFeature: onEachFeature}}).addTo(map)'
276277
.format(1, layer_var, 'style_1'))
277278

278279
templ = self.map.template_vars
@@ -325,7 +326,8 @@ def test_geo_json(self):
325326
'quantize_fill': color,
326327
'fill_opacity': 0.6})
327328

328-
layer = ('gJson_layer_{0} = L.geoJson({1}, {{style: {2}}}).addTo(map)'
329+
layer = ('gJson_layer_{0} = L.geoJson({1}, {{style: {2},'
330+
'onEachFeature: onEachFeature}}).addTo(map)'
329331
.format(1, layer_var, 'style_1'))
330332

331333
templ = self.map.template_vars
@@ -343,7 +345,8 @@ def test_geo_json(self):
343345
layer_var_2 = 'topo_2'
344346
topo_func = ('topo_2 = topojson.feature(tjson_2,'
345347
' tjson_2.objects.or_counties_geo);')
346-
fmt = 'gJson_layer_{0} = L.geoJson({1}, {{style: {2}}}).addTo(map)'
348+
fmt = ('gJson_layer_{0} = L.geoJson({1}, {{style: {2},'
349+
'onEachFeature: onEachFeature}}).addTo(map)')
347350
layer_2 = fmt.format(2, layer_var_2, 'style_2')
348351

349352
templ = self.map.template_vars

0 commit comments

Comments
 (0)