удалить функции mapedit программно - PullRequest
0 голосов
/ 25 сентября 2018

С помощью 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 *
...