Type: Package
Title: Small Multiples for Leaflet Web Maps
Version: 0.1.0
Maintainer: Tim Appelhans <tim.appelhans@gmail.com>
Description: Create small multiples of several leaflet web maps with (optional) synchronised panning and zooming control. When syncing is enabled all maps respond to mouse actions on one map. This allows side-by-side comparisons of different attributes of the same geometries. Syncing can be adjusted so that any combination of maps can be synchronised.
License: MIT + file LICENSE
URL: https://github.com/r-spatial/leafsync
BugReports: https://github.com/r-spatial/leafsync/issues
Depends: R (≥ 3.1.0), methods
Imports: htmltools (≥ 0.3), htmlwidgets, leaflet (≥ 2.0.1)
Encoding: UTF-8
LazyData: true
RoxygenNote: 6.1.0
NeedsCompilation: no
Packaged: 2019-02-27 17:09:11 UTC; timpanse
Author: Tim Appelhans [aut, cre], Kenton Russell [aut], Jan Pieter Wagmeester [ctb] (Leaflet.Sync plugin)
Repository: CRAN
Date/Publication: 2019-03-05 15:10:03 UTC

View two or more (possibly synchronised) mapview or leaflet maps

Description

This function produces a lattice like view of two or more maps. It is possible to sync any combination of panels or all or none. For synchronising all panels it is best to use the provided convenience function sync.

Usage

latticeView(..., ncol = 2, sync = "none", sync.cursor = FALSE,
  no.initial.sync = TRUE)

latticeview(...)

sync(..., ncol = 2, sync = "all", sync.cursor = TRUE,
  no.initial.sync = TRUE)

Arguments

...

any number of mapview or leaflet objects or a list thereof

ncol

how many columns should be plotted

sync

whether to synchronise zoom and pan for certain elements. Possible values are "all" (default) to sync all maps, "none" to disable synchronisation or a list of panel numbers, e.g. list(c(1, 3), c(2, 4)) will synchronise panels 1 & 3 and panels 2 & 4. Panels are drawn from top right to bottom left.

sync.cursor

whether to show cursor position in synced panels (default TRUE).

no.initial.sync

whether to sync the initial view (default TRUE).

Functions

Examples

if (interactive()) {
library(leaflet)
library(leafsync)

m1 = leaflet() %>%
  addTiles() %>%
  addPolygons(data = gadmCHE)

m2 = leaflet() %>%
  addProviderTiles("Esri.WorldImagery") %>%
  addCircleMarkers(data = breweries91,
                   color = "black",
                   opacity = 0.9,
                   fillColor = "white",
                   fillOpacity = 0.9)

# synced
sync(m1, m2)
sync(m1, m2, no.initial.sync = TRUE)

# not synced
latticeview(m1, m2)
latticeview(m1, m2, ncol = 1)
}