- Included Leaflet.VectorGrid
for tiled GeoJSON (
addVectorgrid()) and protobuf vector
tiles (addProtobuf()). addProtobuf() accepts
popup and label as property
names (not formulas): click popup and hover tooltip. Hovering
point features (place/street labels) no longer crashes Leaflet
(getLatLng / lat undefined). Examples:
inst/examples/vectorgrid_app.R and
inst/examples/vectorgrid_pbf_app.R. Tests cover
Spatial/GeoJSON/URL inputs and missing sf /
yyjsonr.
spinWhile() shows a map spinner in Shiny around server
work. startSpinner()/stopSpinner() in one
renderLeaflet() chain cannot do that. The spinner stays
visible until the work finishes. Fixes #48.
- Sidebar no longer steals clicks or wheel events from Shiny inputs
(
selectInput / Selectize, including Firefox). While a
dropdown is open the map ignores pointer events. Fixes #78, #66.
addWMS() now hides its attribution when the layer group
is hidden, matching leaflet::addWMSTiles().
addWMS(headers = ...) sends Authorization
(Basic/Bearer) and other custom headers with tiles, the overlay image
and GetFeatureInfo (#54). The WMS must allow CORS for those headers.
GetFeatureInfo no longer opens a blocked iframe on 401/403; it shows an
unauthorized message. Example:
inst/examples/wms_geoserver_app.R.
setWMSParams() updates WMS request parameters
(e.g. time) on an existing layer via
leafletProxy(), so Shiny apps no longer need to rebuild the
map (#52).
addWMS() GetFeatureInfo popups work behind HTTPS
reverse proxies: HTTP→HTTPS redirects (301/302) are followed on the same
host, and http:// WMS URLs are upgraded on HTTPS pages
(#14).
- Replaced deprecated
structure(..., .Label = ) with
levels = in tests (test-mapkeyicon.R,
test-playback.R) to clear the R-devel NOTE.
- Documented Shiny mouse events for
addAntpath(): use
input$MAPID_antpath_click / _mouseover /
_mouseout instead of shape_*.
addEasyprint() custom export sizes no longer need extra
CSS. Pass them in easyprintOptions(sizeModes = ...) as R
lists, for example
list(scale = 3, name = "3x current view") (same zoom and
labels, more pixels) or
list(width = 3000, height = 1800, name = "High res").
CurrentSize still exports at the widget size (often low-res
in Quarto/HTML). Custom width/height sizes keep the current map view by
default (keepView = TRUE in the size-mode list). Set
keepView = FALSE to keep the zoom level and export a larger
area. See inst/examples/easyprint.R.
- Included Leaflet.Geosearch
plugin
- Fixed missing OpenWeather loading GIF and layers/group
matching.
- Fixed missing heightgraph icons. (Thanks @hungkitwchi)
- Fixed tests using
leaflet::atlStorms2005, as it will be
an sf object. (Thanks @olivroy)
- Fixed reachability icon handling: check for dependencies in options
and extend the example app.
- Fix tests
- Add select-inputs to sidebar-example
- Included LayerGroup.Collision
plugin
- Included LayerGroup.Conditional
plugin
- Included OSM Buildings
plugin
- New Function
addDivicon adds DivIcon
markers to Leaflet maps with support for custom HTML and CSS classes.
See the example in ./inst/examples/divicons_html_app.R
- Added
addClusterCharts to enable pie
and bar charts in Marker clusters using
Leaflet.markercluster, d3 and
L.DivIcon, with support for customizable category styling
and various aggregation methods like sum, min, max,
mean, and median.
- The opened sidebar tab is returned as Shiny input using the
sidebar_tabs ID. #67
- allow
... in antpathOptions to be able to
set the pane (e.g.:
renderer= JS('L.svg({pane: "my-pane"})'))
- Switched from
geojsonsf to yyjsonr
(heightgraph, timeslider, clustercharts)
- Fix for roxygen2 > 7.0.0. #1491
- Added
enableContextmenu and
disableContextmenu
- Fixed tests for leaflet v2.2.0. Thanks to @gadenbuie (#60)
- Bugfix when Sidebar is used inside Shiny modules. The sidebar
functions
addSidebar and openSidebar now have
an argument ns, where Shiny’s namespacing function (e.g:
session$ns) can be included.
- Arrowheads now passes all options in
arrowheadOptions
to L.polyline
- Update
leaflet.heightgraph to 1.3.2.
Has no dependency to d3 anymore.
- Skip tests which use an internet connection
- Adapted URLs and deleted old Mapkey URL
- Included Arrowheads
plugin
- Included Leaflet.Sync
plugin
- Included Leaflet
MovingMarkers plugin
- Included Leaflet Spin
plugin. Thanks to @radbasa
- Included Labelgun plugin.
addTimeslider gained styling options and the arguments
label, labelOptions, sameDate and
ordertime and works for Point / Linestring Simple Feature
Collections
- Enable multiple sidebars. Thanks to @jeffreyhanson
- Option
fit removed for sidebars as plugin CSS/JS was
adapted
- Deprecated
menuItem/mapmenuItems/markermenuItems
and renamed with prefix context_. Fixes #10 and #17
- Some improvement for the
easyprint plugin: (Fixes #31)
- It is now possible to include multiple custom
sizeModes
in easyprintOptions. The example easyprint_app.R has been
extended to demonstrate the new functionalities.
- The
tileLayer option now accepts a group name for a
tilelayer for which printing will wait until the layer is fully
loaded.
- The
addPlayback is now capable of displaying labels and
popups for every timestep. The transition of labels and popups can be
controlled with transitionpopup and
transitionlabel.
- The function
addHistory now requires the
fontawesome package, since the dependency is not included in
shiny’s shared directory anymore.
- The function
addWMS gained the argument
checkempty, which will check the returning HTML-body tag.
If the body is empty, no popup is opened.
- The function
addMovingMarker now accepts icons created
by makeAwesomeIcon.
- Included Leaflet
Contextmenu plugin
- Included Leaflet
TimeSlider plugin
addWMS gained the layerId argument and
works like leaflet::addWMSTiles except for the
popupOptions
Side-by-Side doesn’t propagate click events when
dragging. Thanks to f905a47 of #23