Javascript 编辑使用传单上载的形状文件。形状文件
我正在使用Mapbox和传单来绘制、编辑和删除多边形等。在这种情况下,用户可能已经压缩了形状文件,并希望直接使用它,而不是绘制多边形。因此,我使用上载形状文件并将其添加到地图中 但是当我尝试使用传单绘制控件编辑shapefile时,我得到一个错误,告诉我“I.editing未定义”。在将该层添加到featureGroup之前,我尝试将其转换为GeoJSON,以防万一(如下面的代码所示),看看这是否有任何效果,但没有效果Javascript 编辑使用传单上载的形状文件。形状文件,javascript,leaflet,mapbox,shapefile,leaflet.draw,Javascript,Leaflet,Mapbox,Shapefile,Leaflet.draw,我正在使用Mapbox和传单来绘制、编辑和删除多边形等。在这种情况下,用户可能已经压缩了形状文件,并希望直接使用它,而不是绘制多边形。因此,我使用上载形状文件并将其添加到地图中 但是当我尝试使用传单绘制控件编辑shapefile时,我得到一个错误,告诉我“I.editing未定义”。在将该层添加到featureGroup之前,我尝试将其转换为GeoJSON,以防万一(如下面的代码所示),看看这是否有任何效果,但没有效果 var layergeojson = layer.toGeoJSON();
var layergeojson = layer.toGeoJSON();
featureGroup.addLayer(layergeojson);
这是我现在拥有的东西的一部分。我试着在网上搜索任何类似的案例,但我找不到
是否可以使用传单绘制控件编辑上载的形状文件 执行
var layergeojson=layer.toGeoJSON()
时,layergeojson
现在包含一个普通的GeoJSON对象,而不是传单层
因此,featureGroup.addLayer(layergeojson)
应该抛出一个错误(打开浏览器控制台)。相反,您可能应该使用以下方法:featureGroup.addData(layergeojson)
至于编辑生成的图层,可能与此相关:Awesome!这正是我需要的。这似乎也解决了我在之前的设置中遇到的另一个问题,当时我试图将层转换为WKT字符串(不是JSFIDLE的一部分)。非常感谢!!:)附言:我不必将其转换为GeoJSON,因为我的主要目标是编辑shapefile,而将其转换为GeoJSON是我试图解决它的不同方法之一。但这是一个很好的小细节,我将来可能会用到。所以也谢谢你。