首页 / OpenLayers / 使用示例
拓扑编辑
画线时端点自动吸附到已有节点,闭合的环会即时生成面要素,节点与边保持拓扑一致。
源码与运行效果
说明
页面维护一张平面图:nodes 存节点坐标,edges 存端点编号。每次新增边后,用半拉边遍历按角度排序,找出所有有向环并计算带符号面积,面积为正的环就是内部面。绘制交互使用 ol.interaction.Draw,并叠加 ol.interaction.Snap 吸附节点。
| 操作 | 结果 |
|---|---|
| 在地图上线与线之间落笔 | 端点吸附到最近节点,边与节点共享坐标 |
| 画一条回到起点的线 | 环闭合后自动生成面,标注面编号 |
| 从已有节点向外引线 | 新增边后自动重算,面被分割或合并 |
交叉但不共享端点的线不会自动打断,拓扑要求先在交点处落节点再分别连线。