当我创建一个新多边形时,在“PM:DRAWSTART”上我初始化事件“pm:vertexadded”
它允许我检测是否:
- 新点位于现有多边形内,因此我将其删除。*
- 如果创建的最后一条线与现有多边形(TurfJS lineIntersect)相交,我将其删除。
如果最后一行创建了“扭结”(TurfJS 也是),我将其删除。
我使用:"map.pm.Draw["Polygon"]._removeLastVertex();" 删除最后一点。
我的问题。
当多边形关闭时(最后一个点点击第一个)“PM:DRAWEND”事件被执行。所以在这种情况下,我无法检查新多边形是否与现有多边形重叠,就像我对事件“pm:vertexadded”所做的那样。
如果新多边形与现有多边形重叠以进入编辑模式(polygon.toggleEdit())并返回舞台,是否有可能在事件“PM:CREATE”上,因为我没有单击最后一个点来关闭多边形.
非常感谢。