2016-05-13 103 views
-1

我在一个闪亮的应用程序中使用的leafletmap上绘制了一个Polygon。 每次发生事件时,我想删除旧的多边形并在其上绘制新的多边形。 那不行 - 我假设我用layerId错了?从Leafletmap R/Shiny中删除多边形

对此有何暗示?

# 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

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

所以,这是不够的:

observeEvent(da$ar, { 

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