С помощью mapedit
можно очистить нарисованные объекты, используя значок «мусор», встроенный в пользовательский интерфейс дышла.Также возможно очистить объекты, связанные с картой листовки, используя clearMarkers()
и leafletProxy()
, как изложено в этой проблемы .Однако leafletProxy не очищает какие-либо функции, нарисованные пользователем.Как программно очистить эти функции?(например, после нажатия кнопки actionButton).
Вот простое блестящее приложение и более подробное объяснение:
library(mapedit)
library(mapview)
library(shiny)
ui <- fluidPage(
fluidRow(
editModUI("editor"),
actionButton('clear', "Clear features")
)
)
server <- function(input, output, session) {
edits <- callModule(editMod, "editor", mapview()@map)
observeEvent(input$clear, {
### some other things will happen here like uploading dropbox
# then I need to clear the output of edits()
print(edits())
##cannot do this
# edits()$drawn <- NULL
})
}
shinyApp(ui, server)
ОБНОВЛЕНИЕ: Несколько странное решение - снова вызвать модуль в рамках события clear.Есть ли лучшее решение?
1012 *