我正在使用奇妙的“传单几何人”来绘制和编辑几何图形,但在理解切割工具的工作原理时遇到了麻烦。如何获得已切割层的几何形状?
这是我的代码:
mymap.on('pm:create', function(e) {
e.poly;
var type = e.layerType,
layer = e.layer;
$(document).ready(function() {
layer.on('pm:cut', ({ layer }) => {
console.log(layer.toGeoJSON());
});
var jsnPolygon = e.layer.toGeoJSON().geometry;
jsnPolygon = {
type: "MultiPolygon",
coordinates: [jsnPolygon.coordinates]
};
console.log(layer.toGeoJSON());
})
});
console.log 在切割前后给出了相同的结果,即矩形坐标。
- - 更新 - -
按建议添加console.log(JSON.stringify(e));
会返回此错误:
Uncaught TypeError: Converting circular structure to JSON
--> starting at object with constructor 'e'
| property 'pm' -> object with constructor 'e'
--- property '_layer' closes the circle
完成切割后的行为是它仍然启用了绘图/切割工具,尽管我无法“完成”它。