Closed ocefpaf closed 7 months ago
OK. We are hitting https://docs.python-guide.org/writing/gotchas/#late-binding-closures :-/ I'll see what we can do. At least we should amend the docs.
Update. The geopandas style column example has been broken for a while (since v0.9.0) and is unrelated to the late binding issue in the loop. It is likely due to https://github.com/python-visualization/folium/pull/1058
Options:
style_function = lambda x, style=style: style
Thanks for addressing this issue @ocefpaf!
Describe the bug
Both in a loop or using a GeoDataframe, only the last style is applied to all geometries. We can see that in our docs:
To Reproduce
https://python-visualization.github.io/folium/latest/user_guide/geojson/geopandas_and_geo_interface.html
I also believe https://github.com/python-visualization/folium/issues/1608 is related.
Expected behavior We expect each geometry to have its own color defined by the style column.
Environment (please complete the following information):
Additional context In a loop one can "hack" this problem by assigning a unique value using
exec
(note recommended though).Possible solutions
I'll investigate more and see if I can come up with something. I did try with latest
branca
andfolium
and this is not solved yet.