`r`n
经纬志
`r`n
`r`n
首页 / OpenLayers / 使用示例
`r`n

绘制规则图形

用 geometryFunction 把拖动半径转成正方形或正三角形,一次手势画出规则图形。

OpenLayers 10.3.1 · 更新 2026-10-27
`r`n
源码与运行效果
运行效果
`r`n

说明

绘制类型仍是 Circle,但 geometryFunction 在每次指针移动时 接收已知坐标并返回自定义几何。示例取圆心到指针的距离作半径, 用 ol.geom.Polygon.fromCircle(circle, sides) 生成指定边数的正多边形。

圆形、正方形、三角形共用同一套交互,只是 sides 不同, 松手后图形定稿并写入源。

操作结果
选「正方形」后拖拽画出以拖拽点为边界的正方形
选「三角形」后拖拽画出正三角形,方向随拖拽位置旋转
选「圆形」后拖拽回到默认的圆形绘制

Polygon.fromCircle 的第三个参数是起始角度;需要固定朝向时传入常量,否则图形会跟随拖拽方向转动。

`r`n
`r`n