从 Leafletmap R/Shiny 中删除多边形

Sto*_*ace 1 r polygon polygons leaflet shiny

我在传单地图上绘制了一个多边形,我在一个闪亮的应用程序中使用它。每次触发事件时,我想删除旧的多边形并在其上绘制新的多边形。那不起作用-我想我用layerId错了?

对此有任何提示吗?

# draw polygons
observeEvent(da$ar, {
    # remove polygon
    removeShape(map, layerId = unique(10))

    leafletProxy("myMap") %>% addPolygons(data = da$ar, stroke = TRUE, 
    fillOpacity = 0.5, smoothFactor = 0.5,
    layerId = unique(10)
    )
})
Run Code Online (Sandbox Code Playgroud)

Sto*_*ace 5

所以,我就去吧。当您在对象上使用图层 ID 并再次使用该图层 ID 绘制同一对象时,该对象将被删除。

所以,这就足够了:

 observeEvent(da$ar, {
    leafletProxy("myMap") %>% addPolygons(data = da$ar, stroke = TRUE, 
    fillOpacity = 0.5, smoothFactor = 0.5,
    layerId = "foo"
    ) 
 })
Run Code Online (Sandbox Code Playgroud)