有什么方法可以编辑传单地图上的现有geojson数据

时间:2019-05-02 11:47:39

标签: javascript reactjs leaflet react-leaflet leaflet.draw

我想为传单地图上当前显示的geojson多边形图层提供编辑支持。当按下编辑按钮时,它会给我

  

未捕获的TypeError:无法读取null的属性“ lat”

这是我的代码:

const leafletGeoJSON = new L.GeoJSON(arr, {
  style(feature: any) {
    const temp = getColor(feature.properties.id);
    return {
      color: temp,
      fillColor: temp
    };
  },
  onEachFeature(feature, layer) {
    layer.bindTooltip(feature.properties.description);
  }
});

leafletGeoJSON.eachLayer(layer => {
  reactRef.leafletElement.addLayer(layer);
});

我用传单画

1 个答案:

答案 0 :(得分:0)

我 我终于找到了根本原因,因为我们在DB上使用了Multipolyon,我只是照原样渲染,但实际上传单绘制不支持MultiPolygon我将数据结构更改为Polygon,然后一切正常。

此处的关键是featureGroup选项。这将告诉插件哪个FeatureGroup包含应可编辑的图层。 FeatureGroup可以包含0个或多个特征类型为Point,LineString和Polygon的特征。 Leaflet.draw不适用于多几何特征,例如MultiPoint,MultiLineString,MultiPolygon或GeometryCollection。如果需要在绘图插件中添加多几何特征,请将其转换为非多几何特征(点,线串或多边形)的FeatureCollection。

https://leaflet.github.io/Leaflet.draw/docs/leaflet-draw-latest.html#l-draw-feature