从Leafletmap R / Shiny删除多边形

时间:2016-05-13 15:40:04

标签: r shiny leaflet polygon polygons

我在一张小册子上绘制了一张Polygon,我在一个闪亮的应用程序中使用了它。 每次触发事件时,我想删除旧的多边形并在其上绘制新的多边形。 这不起作用 - 我假设我使用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)
    )
})

1 个答案:

答案 0 :(得分:1)

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

所以,这就够了:

 observeEvent(da$ar, {

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