闪亮的应用程序:Leaflet DrawToolbar:在不满足条件的情况下无法从地图中删除用户界面

时间:2018-10-04 23:48:14

标签: r shiny leaflet react-leaflet

我创建了一个利用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)

}})

0 个答案:

没有答案