编辑传单多面体

Edit Leaflet multipolygons

我正在使用 Leaflet.draw 库来允许对 geojson 形状进行地图编辑。但是,在多面体类型上,我从库中收到错误消息 TypeError: layer.options is undefined

这看起来与 here 中引用的问题相同。是否有允许绘制、编辑和删除多多边形类型 geojson 的解决方法?

我的解决方法是将 MultiPolygon 类型的 geojson 拆分为几个 Polygon

if (shape.type === "MultiPolygon") {
  shape.coordinates.forEach(function(shapeCoords, i) {
    var polygon = {type:"Polygon", coordinates: shapeCoords};
    L.geoJson(polygon, {
      onEachFeature: function (feature, layer) {
        featureGroup.addLayer(layer);
      }
    });
  });
}

或者,您也可以使用 Leaflet.PM,一个支持 MultiPolygons 的传单绘图库。

通过 L.geoJson 添加您的 geojson 形状,leaflet.pm 可以处理它的编辑,包括孔洞。

免责声明:我是 leaflet.PM

的维护者