2016-05-13 22 views
-1

Ich zeichne ein Polygon auf einer Leafletmap, die ich in einer glänzenden App verwende. Jedes Mal, wenn ein Ereignis ausgelöst wird, möchte ich das alte Polygon löschen und das neue Polygon darüber zeichnen. Das funktioniert nicht - ich nehme an, dass ich layerId falsch verwende?Polygon löschen von Leafletmap R/Shiny

Hinweise dazu?

# 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) 
    ) 
}) 

Antwort

1

Also, ich gehe es. Wenn Sie eine Layer-ID für ein Objekt verwenden und dasselbe Objekt erneut mit dieser LayerID zeichnen, wird das Objekt gelöscht.

So, das ist genug:

observeEvent(da$ar, { 

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