Skip to contents

Adds an animated loading spinning over the map.

Usage

addSpinner(map)

startSpinner(map, options = NULL)

stopSpinner(map)

Arguments

map

A map widget object created from leaflet

options

Spin.js options. Named list. See http://spin.js.org

Value

A leaflet map object

Shiny

startSpinner() and stopSpinner() in the same leaflet or leafletProxy chain are sent to the browser together. Use spinWhile (or start the spinner, then run the work after session$onFlushed).

See also

Other Spinner Functions: spinWhile()

Examples

library(leaflet)

leaflet(data = quakes) %>%
  addTiles() %>%
  addSpinner() %>%
  startSpinner(options = list("lines" = 7, "length" = 20)) %>%
  addMarkers(~long, ~lat, popup = ~ as.character(mag), label = ~ as.character(mag)) %>%
  stopSpinner()
if (FALSE) { # \dontrun{ library(shiny) shinyApp( ui = fluidPage( actionButton("go", "Load markers"), leafletOutput("leaf") ), server = function(input, output, session) { output$leaf <- renderLeaflet({ leaflet() %>% addTiles() %>% addSpinner() }) observeEvent(input$go, { spinWhile("leaf", { Sys.sleep(2) leafletProxy("leaf") %>% addMarkers(data = quakes, ~long, ~lat) }, options = list(lines = 7, length = 20) ) }) } ) } # }