Leaflet 在MapBox中加载geoJson,以便使用传单进行编辑。Draw
我尝试在Mapbox中加载geoJson数据,并使用插件对其进行编辑 以下是一个例子: 单击“编辑”按钮时,出现错误: 未捕获的TypeError:无法读取未定义的属性“enable” 对象似乎是可编辑的,但我无法修改它Leaflet 在MapBox中加载geoJson,以便使用传单进行编辑。Draw,leaflet,geojson,mapbox,Leaflet,Geojson,Mapbox,我尝试在Mapbox中加载geoJson数据,并使用插件对其进行编辑 以下是一个例子: 单击“编辑”按钮时,出现错误: 未捕获的TypeError:无法读取未定义的属性“enable” 对象似乎是可编辑的,但我无法修改它 在mapboxdraw图层中添加geojson对象的正确方法是什么?我找到了解决方案: L.geoJson(geojson, { onEachFeature: function (feature, layer) { featureGroup.addLayer(lay
在mapboxdraw图层中添加geojson对象的正确方法是什么?我找到了解决方案:
L.geoJson(geojson, {
onEachFeature: function (feature, layer) {
featureGroup.addLayer(layer);
}
});
下面是使用CoffeeScript的工作示例:
drawnItems = new L.FeatureGroup()
map.addLayer drawnItems
layers = L.geoJson geojson
layers.eachLayer (layer) => drawnItems.addLayer layer
为了让我的工作顺利进行,我必须做以下工作(除了上述答案):
这是针对geojson的,它是一种“功能”类型。我实际上也有同样的问题。不过我用的是地图盒。我试着把它添加到我的代码中,但似乎没有效果。如果你能看一看,我将不胜感激。它似乎将我的GeoJSON添加到层中,但我仍然得到与您相同的错误。事实上,除了我的圆没有显示为圆之外,这似乎起到了作用。这肯定会帮助我前进!谢谢
drawnItems = new L.FeatureGroup()
map.addLayer drawnItems
layers = L.geoJson geojson
layers.eachLayer (layer) => drawnItems.addLayer layer
L.geoJson(geojson, {
onEachFeature: function (feature, layer) {
if (layer.getLayers) {
layer.getLayers().forEach(function (l) {
featureGroup.addLayer(l);
})
} else {
featureGroup.addLayer(layer);
}
}
});