Leaflet.draw 无法编辑multipolygon类型多边形 解决方法

TypeError: Cannot read property 'lat' of null

通过查看github issues发现Leaftlet.Draw插件并不支持multipolygon类型的要素

https://github.com/Leaflet/Leaflet.draw/issues/268

解决方法

通过测试发现可以通过将multipolygon拆分成多个polygon要素的方法可以解决这个问题

拆分方法如下:

function multiPolygon2polygons (multiPolygon){ if(multiPolygon.type !== 'MultiPolygon'){ return } var polygons = []; multiPolygon.coordinates.forEach((item)=>{ var polygon = { type: "Polygon", coordinates: [] }; polygon.coordinates = item; polygons.push(polygon) }); return polygons; }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydffy.html