我创建了一个利用geoshaper软件包的应用程序,以允许用户选择通过DrawToolbar插件创建的多边形内的要素。但是,如果用户在数据通过反应性过滤器之前进行选择多边形,则会崩溃并显示错误代码:“警告:.local中的错误:无法从非数值矩阵得出坐标”。
我认为除非满足条件,否则不渲染DrawToolbar是一个很好的方法。问题是当条件被删除时,removeDrawToolbar函数将不起作用,也不会从地图中删除。
任何帮助将不胜感激。
条件代码如下:
observe({
if (!isTruthy(input$speccheck)){
map <- leafletProxy("map")
map %>% removeDrawToolbar(clearFeatures = TRUE)
} else {
map <- leafletProxy("map")
map %>% addDrawToolbar(
position = "topright",
targetGroup='Selected',
polylineOptions=FALSE,
markerOptions = FALSE,
polygonOptions = drawPolygonOptions(shapeOptions=drawShapeOptions(fillOpacity = 0
,color = 'white'
,weight = 3)),
rectangleOptions = drawRectangleOptions(shapeOptions=drawShapeOptions(fillOpacity = 0
,color = 'white'
,weight = 3)),
circleOptions = drawCircleOptions(shapeOptions = drawShapeOptions(fillOpacity = 0
,color = 'white'
,weight = 3)),
editOptions = editToolbarOptions(edit = FALSE, selectedPathOptions = selectedPathOptions()),
singleFeature = TRUE)
}})