Skip to content

Commit 18ec981

Browse files
authored
Merge pull request #636 from leslie-huang/leafletproviders
Use leaflet.providers package
2 parents fd0bbe4 + 8ba47f9 commit 18ec981

File tree

15 files changed

+63
-1712
lines changed

15 files changed

+63
-1712
lines changed

DESCRIPTION

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ Imports:
5050
scales (>= 1.0.0),
5151
sp,
5252
stats,
53-
viridis (>= 0.5.1)
53+
viridis (>= 0.5.1),
54+
leaflet.providers (>= 1.8.0)
5455
Suggests:
5556
knitr,
5657
maps,

NAMESPACE

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,8 @@ export(popupOptions)
138138
export(previewColors)
139139
export(projectRasterForLeaflet)
140140
export(providerTileOptions)
141+
export(providers)
142+
export(providers.details)
141143
export(removeControl)
142144
export(removeGeoJSON)
143145
export(removeImage)

NEWS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
leaflet 2.0.3
22
--------------------------------------------------------------------------------
33

4+
BREAKING CHANGES
5+
* `data("providers")` and `data("providers.details")` no longer exist. Please use `leaflet::providers` and `leaflet::providers.details`. (#636)
6+
47
BUG FIXES and IMPROVEMENTS
8+
* Integrated data from `leaflet.providers` package. See [leaflet.providers](https://rstudio.github.io/leaflet.providers/) for details. (#636)
59
* Fixed [rstudio/crosstalk#58](https://github.com/rstudio/crosstalk/issues/58), which caused Leaflet maps that used Crosstalk shared data in Shiny apps, to be redrawn at incorrect times.
610
* invokeRemote() now resolves html dependencies before passing them to shiny::createWebDependency() (#620).
711
* Upgrade leaflet-provider to 1.4.0, enable more map variants such as CartoDB.Voyager (#567)

R/plugin-minimap.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ addMiniMap <- function(
8888
tilesURL <- NULL
8989
tilesProvider <- NULL
9090
if (!is.null(tiles)) {
91-
if (tiles %in% leaflet::providers) {
91+
if (tiles %in% providers) {
9292
map$dependencies <- c(map$dependencies, leafletProviderDependencies())
9393
tilesProvider <- tiles
9494
} else {

R/plugin-providers.R

Lines changed: 35 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
leafletProviderDependencies <- function() {
22
list(
3-
htmltools::htmlDependency(
4-
"leaflet-providers",
5-
"1.1.17",
6-
system.file("htmlwidgets/lib/leaflet-providers", package = "leaflet"),
7-
script = "leaflet-providers.js"
8-
),
3+
get_providers_html_dependency(),
94
htmltools::htmlDependency(
105
"leaflet-providers-plugin",
116
packageVersion("leaflet"),
@@ -72,12 +67,40 @@ providerTileOptions <- function(errorTileUrl = "", noWrap = FALSE,
7267
#'
7368
#' @format A list of characters
7469
#' @source \url{https://github.com/leaflet-extras/leaflet-providers/blob/master/leaflet-providers.js}
70+
#'
71+
#' @name providers
72+
#' @export providers
73+
#' @rdname providers
74+
NULL
75+
# Active binding added in zzz.R
7576
"providers"
7677

77-
#' Providers Details
78-
#'
79-
#' List of all providers with their variations and additional info
80-
#'
81-
#' @format A list of lists (JSON)
82-
#' @source \url{https://github.com/leaflet-extras/leaflet-providers/blob/master/leaflet-providers.js}
78+
#' @name providers.details
79+
#' @export providers.details
80+
#' @rdname providers
81+
NULL
82+
# Active binding added in zzz.R
8383
"providers.details"
84+
85+
# Active binding added in zzz.R
86+
"providers.version_num"
87+
88+
# Active binding added in zzz.R
89+
"providers.src"
90+
91+
get_providers_html_dependency <- function() {
92+
tmpfile <- file.path(tempdir(), paste0("leaflet-providers_", providers.version_num, ".js"))
93+
94+
if (!file.exists(tmpfile)) {
95+
src <- providers.src
96+
writeLines(src, tmpfile)
97+
}
98+
99+
htmltools::htmlDependency(
100+
"leaflet-providers",
101+
providers.version_num,
102+
src = dirname(tmpfile),
103+
script = basename(tmpfile),
104+
all_files = FALSE
105+
)
106+
}

R/zzz.R

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
leaflet_envir <- environment()
2+
.onLoad <- function(...) {
3+
makeActiveBinding("providers", function() {
4+
leaflet.providers::providers_loaded()$providers
5+
}, env = leaflet_envir)
6+
7+
makeActiveBinding("providers.details", function() {
8+
leaflet.providers::providers_loaded()$providers_details
9+
}, env = leaflet_envir)
10+
11+
makeActiveBinding("providers.version_num", function() {
12+
leaflet.providers::providers_loaded()$version_num
13+
}, env = leaflet_envir)
14+
15+
makeActiveBinding("providers.src", function() {
16+
leaflet.providers::providers_loaded()$src
17+
}, env = leaflet_envir)
18+
}

data-raw/providerNames.R

Lines changed: 0 additions & 24 deletions
This file was deleted.

data/providers.details.rda

-5.63 KB
Binary file not shown.

data/providers.rda

-1.83 KB
Binary file not shown.

0 commit comments

Comments
 (0)