Description Usage Arguments Details Value Examples
Create HTML strings for popup
graphs used as input for
mapview
or leaflet
.
Create HTML strings for popup
images used as input for
mapview
or leaflet
.
Create HTML strings for popup
tables used as input for
mapview
or leaflet
.
This optionally allows the user to include only a subset of feature attributes.
1 2 3 4 5 6 7 8 9 10 11 |
graphs |
A |
type |
Output filetype, one of "png" (default), "svg" or "html". |
width |
popup width in pixels. |
height |
popup height in pixels. |
... |
further arguments passed on to underlying methods such as height and width. |
img |
A character |
src |
Whether the source is "local" (i.e. valid file path(s)) or "remote" (i.e. valid URL(s)). |
embed |
whether to embed the (local) images in the popup html as base64 ecoded. Set this to TRUE if you want to save and share your map, unless you want render many images, then set to FALSE and make sure to copy ../graphs when copying the map to a different location. |
x |
A |
zcol |
|
row.numbers |
|
feature.id |
|
className |
CSS class name(s) that can be used to style the table through additional css dependencies (see attachDependencies). |
Type svg
uses native svg
encoding via readLines
.
height
and width
are set via ...
and passed on to
svg
Type png
embeds via "<img src = ..."
.
height
and width
are set via ...
and passed on to
png
Type html
embeds via "<iframe src = ..."
.
height
and width
are set directly in pixels.
A list
of HTML strings required to create popup graphs.
A list
of HTML strings required to create popup graphs.
A list
of HTML strings required to create feature popup tables.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | if (interactive()) {
### example: svg -----
library(sp)
library(lattice)
data(meuse)
coordinates(meuse) = ~ x + y
proj4string(meuse) = CRS("+init=epsg:28992")
meuse = spTransform(meuse, CRS("+init=epsg:4326"))
## create plots with points colored according to feature id
library(lattice)
p = xyplot(copper ~ cadmium, data = meuse@data, col = "grey")
p = mget(rep("p", length(meuse)))
clr = rep("grey", length(meuse))
p = lapply(1:length(p), function(i) {
clr[i] = "red"
update(p[[i]], col = clr)
})
leaflet() %>%
addTiles() %>%
addCircleMarkers(data = meuse, popup = popupGraph(p, type = "svg"))
### example: png -----
pt = data.frame(x = 174.764474, y = -36.877245)
coordinates(pt) = ~ x + y
proj4string(pt) = "+init=epsg:4326"
p2 = levelplot(t(volcano), col.regions = terrain.colors(100))
leaflet() %>%
addTiles() %>%
addCircleMarkers(data = pt, popup = popupGraph(p2, width = 300, height = 400))
### example: html -----
leaflet() %>%
addTiles() %>%
addCircleMarkers(
data = breweries91[1, ],
popup = popupGraph(
leaflet() %>%
addProviderTiles("Esri.WorldImagery") %>%
addMarkers(data = breweries91[1, ],
popup = popupTable(breweries91[1, ])),
type = "html"
)
)
}
if (interactive()) {
## remote images -----
### one image
library(sf)
pnt = st_as_sf(data.frame(x = 174.764474, y = -36.877245),
coords = c("x", "y"),
crs = 4326)
img = "http://bit.ly/1TVwRiR"
leaflet() %>%
addTiles() %>%
addCircleMarkers(data = pnt, popup = popupImage(img, src = "remote"))
### multiple file (types)
library(sp)
images = c(img,
"https://upload.wikimedia.org/wikipedia/commons/9/91/Octicons-mark-github.svg",
"https://www.r-project.org/logo/Rlogo.png",
"https://upload.wikimedia.org/wikipedia/commons/d/d6/MeanMonthlyP.gif")
pt4 = data.frame(x = jitter(rep(174.764474, 4), factor = 0.01),
y = jitter(rep(-36.877245, 4), factor = 0.01))
coordinates(pt4) = ~ x + y
proj4string(pt4) = "+init=epsg:4326"
leaflet() %>%
addTiles() %>%
addMarkers(data = pt4, popup = popupImage(images)) # NOTE the gif animation
## local images -----
pnt = st_as_sf(data.frame(x = 174.764474, y = -36.877245),
coords = c("x", "y"), crs = 4326)
img = system.file("img","Rlogo.png",package="png")
leaflet() %>%
addTiles() %>%
addCircleMarkers(data = pnt, popup = popupImage(img))
}
library(leaflet)
leaflet() %>% addTiles() %>% addCircleMarkers(data = breweries91)
leaflet() %>%
addTiles() %>%
addCircleMarkers(data = breweries91,
popup = popupTable(breweries91))
leaflet() %>%
addTiles() %>%
addCircleMarkers(data = breweries91,
popup = popupTable(breweries91,
zcol = c("brewery", "zipcode", "village"),
feature.id = FALSE,
row.numbers = FALSE))
## using a custom css to style the table
className = "my-popup"
css = list(
"background" = "#ff00ff"
)
css = list(css)
names(css) = sprintf("table.%s", className)
evenodd = list("#ffff00", "#00ffff")
names(evenodd) = rep("background", 2)
evenodd = lapply(evenodd, function(i) {
list("background" = i)
})
names(evenodd) = c(
sprintf("table.%s tr:nth-child(even)", className)
, sprintf("table.%s tr:nth-child(odd)", className)
)
lst = append(css, evenodd)
jnk = Map(function(...) do.call(htmltools::css, ...), lst)
dir = tempfile()
dir.create(dir)
fl = file.path(dir, "myCSS.css")
cat(
sprintf(
"%s{ \n %s\n}\n\n"
, names(jnk)
, jnk
)
, sep = ""
, file = fl
)
mymap = leaflet() %>%
addTiles() %>%
addCircleMarkers(data = breweries91,
popup = popupTable(breweries91, className = className))
addMyCSSDependency = function() {
list(
htmltools::htmlDependency(
name = "mycss"
, version = "0.0.1"
, src = dir
, stylesheet = basename(fl)
)
)
}
mymap$dependencies = c(
mymap$dependencies
, addMyCSSDependency()
)
mymap
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.