从 Leafletmap 中删除多边形 R/Shiny

Delete Polygon from Leafletmap R/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)
    )
})

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

所以,够了:

 observeEvent(da$ar, {

    leafletProxy("myMap") %>% addPolygons(data = da$ar, stroke = TRUE, 
    fillOpacity = 0.5, smoothFactor = 0.5,
    layerId = "foo"
    ) 
 })