经纬志
首页 / OpenLayers / 使用示例

拓扑编辑

画线时端点自动吸附到已有节点,闭合的环会即时生成面要素,节点与边保持拓扑一致。

OpenLayers 10.3.1 · 更新 2026-10-28
源码与运行效果
运行效果

说明

页面维护一张平面图:nodes 存节点坐标,edges 存端点编号。每次新增边后,用半拉边遍历按角度排序,找出所有有向环并计算带符号面积,面积为正的环就是内部面。绘制交互使用 ol.interaction.Draw,并叠加 ol.interaction.Snap 吸附节点。

操作结果
在地图上线与线之间落笔端点吸附到最近节点,边与节点共享坐标
画一条回到起点的线环闭合后自动生成面,标注面编号
从已有节点向外引线新增边后自动重算,面被分割或合并

交叉但不共享端点的线不会自动打断,拓扑要求先在交点处落节点再分别连线。