R/addLayerSelector.R

Defines functions leafletGeoJSONLayerSelectorDependencies addGeoJSONLayerSelector

addGeoJSONLayerSelector <- function(
    map
    , layers
    , layerId
    , group = NULL
    , position = "topleft"
    , options = colorOptions()
) {

  if (inherits(map, "mapview")) map = mapview2leaflet(map)

  map$dependencies <- c(
    map$dependencies
    , leafletGeoJSONLayerSelectorDependencies()
    , chromaJsDependencies())
  leaflet::invokeMethod(
    map
    , leaflet::getMapData(map)
    , 'addGeoJSONLayerSelector'
    , layers
    , layerId
    , group
    , position
    , options
  )
}

leafletGeoJSONLayerSelectorDependencies <- function() {
  list(
    htmltools::htmlDependency(
      "LayerSelector",
      '0.0.1',
      system.file("htmlwidgets/lib/layerSelector", package = "leafem"),
      script = c("layer_selector.js")
    )
  )
}

Try the leafem package in your browser

Any scripts or data that you put into this service are public.

leafem documentation built on Sept. 18, 2023, 1:06 a.m.