使用render() {
const options = [
{
label: "Group 1",
options: [
{ label: "Group 1, option 1", value: "value_1" },
{ label: "Group 1, option 2", value: "value_2" }
]
},
{ label: "A root option", value: "value_3" },
{ label: "Another root option", value: "value_4" }
];
return <Select options={options} />
}
,可以使用内置在绘制工具栏UI中的“废纸'”图标清除绘制的特征。如this issue所述,也可以使用mapedit
和clearMarkers()
清除与传单地图相关的特征。但是,leafletProxy不会清除用户绘制的任何功能。如何以编程方式清除这些功能? (例如,在单击actionButton之后)。
这是一个简单的闪亮应用程序,并有更多说明:
leafletProxy()
更新:有点棘手的解决方案是在clear事件内再次调用该模块。有更好的解决方案吗?:
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)