jupyter-widgets / ipyleaflet

A Jupyter - Leaflet.js bridge
https://ipyleaflet.readthedocs.io
MIT License
1.48k stars 363 forks source link

GeomanDrawControl: Editing circle radius does not persist #1222

Open riccardoporreca opened 1 month ago

riccardoporreca commented 1 month ago

Editing a circle radius does not seem to persist: For instance, moving the circle after changing the radius restores the original radius.

from ipyleaflet import *
m = Map(basemap=basemaps.CartoDB.Positron, zoom = 4)
draw_control = GeomanDrawControl(
    position='topright',
    circle = {"shapeOptions": {"color": "blue","fillOpacity": 0.6, "stroke": True}},
)
m.add(draw_control)

Peek 2024-07-29 11-03

Similarly, the "radius" in draw_control.data is not updated. (In the animation, it also seems to take me always two edits of the radius, maybe this is also related)

pip list ```txt Package Version Editable project location ------------------------- -------------- --------------------------------------------------------------- anyio 4.4.0 argon2-cffi 23.1.0 argon2-cffi-bindings 21.2.0 arrow 1.3.0 asttokens 2.4.1 async-lru 2.0.4 attrs 23.2.0 Babel 2.14.0 beautifulsoup4 4.12.3 bleach 6.1.0 branca 0.7.2 Brotli 1.1.0 build 0.7.0 cached-property 1.5.2 certifi 2024.7.4 cffi 1.16.0 charset-normalizer 3.3.2 comm 0.2.2 debugpy 1.8.2 decorator 5.1.1 defusedxml 0.7.1 deprecation 2.1.0 entrypoints 0.4 exceptiongroup 1.2.2 executing 2.0.1 fastjsonschema 2.20.0 fqdn 1.5.1 h11 0.14.0 h2 4.1.0 hpack 4.0.0 httpcore 1.0.5 httpx 0.27.0 hyperframe 6.0.1 idna 3.7 importlib_metadata 8.0.0 importlib_resources 6.4.0 ipykernel 6.29.5 ipyleaflet 0.19.2 /home/riccardo/GitHubProjects/ipyleaflet/python/ipyleaflet ipython 8.26.0 ipywidgets 8.1.3 isoduration 20.11.0 jedi 0.19.1 Jinja2 3.1.4 json5 0.9.25 jsonpointer 3.0.0 jsonschema 4.23.0 jsonschema-specifications 2023.12.1 jupyter_client 8.6.2 jupyter_core 5.7.2 jupyter-events 0.10.0 jupyter-leaflet 0.19.2 /home/riccardo/GitHubProjects/ipyleaflet/python/jupyter_leaflet jupyter-lsp 2.2.5 jupyter_packaging 0.12.3 jupyter_server 2.14.2 jupyter_server_terminals 0.5.3 jupyterlab 4.2.4 jupyterlab_pygments 0.3.0 jupyterlab_server 2.27.3 jupyterlab_widgets 3.0.11 MarkupSafe 2.1.5 matplotlib-inline 0.1.7 mistune 3.0.2 nbclient 0.10.0 nbconvert 7.16.4 nbformat 5.10.4 nest_asyncio 1.6.0 notebook_shim 0.2.4 numpy 2.0.0 overrides 7.7.0 packaging 24.1 pandas 2.2.2 pandocfilters 1.5.0 parso 0.8.4 pep517 0.13.0 pexpect 4.9.0 pickleshare 0.7.5 pip 24.0 pkgutil_resolve_name 1.3.10 platformdirs 4.2.2 prometheus_client 0.20.0 prompt_toolkit 3.0.47 psutil 6.0.0 ptyprocess 0.7.0 pure_eval 0.2.3 pycparser 2.22 Pygments 2.18.0 PySocks 1.7.1 python-dateutil 2.9.0 python-json-logger 2.0.7 pytz 2024.1 PyYAML 6.0.1 pyzmq 26.0.3 referencing 0.35.1 requests 2.32.3 rfc3339-validator 0.1.4 rfc3986-validator 0.1.1 rpds-py 0.19.0 ruff 0.5.2 Send2Trash 1.8.3 setuptools 71.0.4 six 1.16.0 sniffio 1.3.1 soupsieve 2.5 stack-data 0.6.2 terminado 0.18.1 tinycss2 1.3.0 tomli 2.0.1 tomlkit 0.13.0 tornado 6.4.1 traitlets 5.14.3 traittypes 0.2.1 types-python-dateutil 2.9.0.20240316 typing_extensions 4.12.2 typing-utils 0.1.0 tzdata 2024.1 uri-template 1.3.0 urllib3 2.2.2 wcwidth 0.2.13 webcolors 24.6.0 webencodings 0.5.1 websocket-client 1.8.0 wheel 0.43.0 widgetsnbextension 4.0.11 xyzservices 2024.6.0 zipp 3.19.2 zstandard 0.23.0 ```
riccardoporreca commented 1 month ago

Note that I do not see the same behavior on https://www.geoman.io/demo