A release with some nice new features and a lot of usability updates and fixes.
โ note that there is a breaking change compared to <v3.2 (only affecting the ambiguous "layer" kwarg of dynamic artists (see ๐ฆ๏ธ changes below for details) )
๐ณ NEW
(โญ: new feature, ๐: new functionalities for existing features)
- โญ There's a new pre-defined WebMap service: `m.add_wms.GEBCO` that provides nice underwater topography (https://www.gebco.net/)
- โญ Theres a new function `m.redraw()` that can be used to force a re-draw of the entire figure
- โญ shortcuts for `mg.redraw` and `mg.util` have been added to `MapsGrid`
- ๐ `m.add_wms. ... <layer>.set_extent_to_bbox()` now supports a new kwarg `shrink` which can be used to set the extent to a "shrinked" bbox (useful to avoid request-errors for tiles outside the bbox)
- ๐ `m.add_colorbar` can now be used to add **individual colorbars for different plot-layers**
(the colorbars will always reflect the currently displayed layer)
- ๐the `peek_layer` callback can now be used to either view one (or more) layers or to **overlay** one (or more) layers on top of the current background layer.
- ๐ some major improvements have been implemented for fetching WebTiles from xyz-TileServer links.
- `m.add_wms.get_service` now supports using custom `wms`, `wmts`, `restAPI` or `xyz` services
๐ฆ๏ธ changes
- the ambiguous (and misleading) `layer` kwarg has finally been removed from dynamic artists.
(note this "layer" was NOT referring to the actual plot-layer but to the stacking of dynamic artists!)
- `layer` now always refers to the background layer name and not to the stack-order of dynamic artists!
- โ the plot-order of multiple artists on the same layer is now determined by matplotlib's `zorder` property.
- โ old: `m.cb.click.attach.mark(layer=5)` โก๏ธ new: `m.cb.click.attach.mark(zorder=5)`
- โ old: `m.cb.click.attach.annotate(layer=5)` โก๏ธ new: `m.cb.click.attach.annotate(zorder=5)`
- โ old: `m.BM.add_artist(art, layer=5)` โก๏ธ new: `m.BM.add_artist(art)` + `art.set_zorder(5)`
- all examples have been updated accordingly
๐จ fixes
- fix _onrelease() missing 1 required positional argument
- fix issues with `nbagg` and `ipympl` backends (e.g. jupyter notebooks)
- fix `plt.show` should only be called if we're in an interactive backend!
- fix some issues with the scalebar and colorbar
- re-work of `draggable_axes`
- fix maxzoom for stamen_watercolor layer