我喜欢在切换按钮时添加和删除绘图工具栏。但这行不通。也许是与https://github.com/bhaskarvk/leaflet.extras/issues/148相关的错误,或者我的代码有问题吗?
library(shiny)
library(shinyBS)
library(leaflet)
library(leaflet.extras)
ui <- fluidPage(
bsButton("edit", " Edit", icon = icon("pencil"),
style = "default", type = "toggle", value = FALSE),
leafletOutput("map")
)
server <- function(input, output, session) {
output$map <- renderLeaflet({leaflet() %>% addTiles()})
observe({
req(isFALSE(input$edit))
print(input$edit)
leafletProxy("map") %>% removeDrawToolbar()
})
observe({
req(isTRUE(input$edit))
print(input$edit)
leafletProxy("map") %>% addDrawToolbar()
})
}
shinyApp(ui, server)
答案 0 :(得分:0)
看起来像leafletProxy
的未解决问题。如您的链接中所建议,您可以通过在lfx-draw-bindings.js中仅用“ remove”替换两个“ removeFrom”方法来解决此问题。在Windows上,您可以在这里找到
C:\Program Files\R\R-3.4.3\library\leaflet.extras\htmlwidgets\build\lfx-draw
不过,该解决方案仅在本地有效,如果您将应用程序发布在Shinyapps.io上,则不会执行。