Nothing
utilsDependencies <- function() {
list(
html_dep_binding("map-widget-style", "1.0.0")
)
}
#' Customize the leaflet widget style
#' @param map the map widget
#' @param style a A list of CSS key/value properties.
#' @rdname utils
#' @export
#' @examples
#' \donttest{
#' geoJson <- jsonlite::fromJSON(readr::read_file(
#' paste0(
#' "https://raw.githubusercontent.com/MinnPost/simple-map-d3",
#' "/master/example-data/world-population.geo.json"
#' )
#' ))
#'
#' world <- leaflet(
#' options = leafletOptions(
#' maxZoom = 5,
#' crs = leafletCRS(
#' crsClass = "L.Proj.CRS", code = "ESRI:53009",
#' proj4def = "+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs",
#' resolutions = c(65536, 32768, 16384, 8192, 4096, 2048)
#' )
#' )
#' ) %>%
#' addGraticule(style = list(color = "#999", weight = 0.5, opacity = 1, fill = NA)) %>%
#' addGraticule(sphere = TRUE, style = list(color = "#777", weight = 1, opacity = 0.25, fill = NA))
#'
#' world
#'
#' # change background to white
#' world %>%
#' setMapWidgetStyle(list(background = "white"))
#' }
#'
setMapWidgetStyle <- function(
map,
style = list(background = "transparent")) {
map$dependencies <- c(map$dependencies, utilsDependencies())
invokeMethod(map, getMapData(map), "setMapWidgetStyle", style)
}
#' For debugging a leaflet map
#' @param map The map widget
#' @export
debugMap <- function(map) {
map %>% htmlwidgets::onRender(htmlwidgets::JS("function(el, x){var map=this; debugger;}"))
}
#' Reset map's view to original view
#' @param map The map widget
#' @export
#' @examples
#' leaflet() %>%
#' addTiles() %>%
#' addResetMapButton()
addResetMapButton <- function(map) {
map %>%
addEasyButton(easyButton(
icon = "ion-arrow-shrink",
title = "Reset View",
onClick = JS("function(btn, map){ map.setView(map._initialCenter, map._initialZoom); }")
)) %>%
htmlwidgets::onRender(JS(
"
function(el, x){
var map = this;
map.whenReady(function(){
map._initialCenter = map.getCenter();
map._initialZoom = map.getZoom();
});
}"
))
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.