ipyleaflet icon indicating copy to clipboard operation
ipyleaflet copied to clipboard

Exporting HTML map multiple times causes increasing file sizes

Open filipre opened this issue 2 years ago • 1 comments

Hi!

I need to generate multiple maps and save them to my system. I noticed that calling m.save() multiple times increases the size of the exported HTML map. Consider the following jupyter notebook

from ipyleaflet import Map

for i in range(20):
    m = Map(center=(48.0, 10.0), zoom=5)
    m.layout.height = "1000px"
    m.save(f"map_{i}.html", title=f"Map for {i}")

Even though I generate the same map 20 times, the file size differs on my system: Screenshot 2023-02-07 at 11 43 42

Also consider the first and second html page map_0.txt map_1.txt

Notice that I am using version 0.17.0 because the save() method is broken in version 0.17.1 and 0.17.2 (newest). Any ideas how to resolve this?

Best, René

filipre avatar Feb 07 '23 10:02 filipre

Okay, it seems like https://github.com/jupyter-widgets/ipywidgets/issues/3448 is the underlying issue. The following fix works for me, but I'd like to keep this issue open until ipyleaflet uses the fixed version (once its released)

from ipywidgets.widgets.widget import Widget 
from ipyleaflet import Map

for i in range(20):
    Widget.widgets.clear()
    m = Map(center=(48.0, 10.0), zoom=5)
    m.layout.height = "1000px"
    m.save(f"bug/map_{i}.html", title=f"Map for {i}")


filipre avatar Feb 08 '23 15:02 filipre