构造函数
可选options: {配置参数
可选continuousDrawing?: boolean是否启用连续绘制模式
可选controlPoints?: {控制点样式配置(向后兼容,转译为 theme)
可选midpoint?: { color?: string; size?: number }中点辅助点样式
可选color?: string中点填充色(→ theme.midpointFill)
可选size?: number中点尺寸(→ theme.midpointSize)
可选vertex?: { color?: string; size?: number }顶点辅助点样式
可选color?: string顶点填充色(→ theme.vertexFill)
可选size?: number顶点尺寸(→ theme.vertexSize)
可选enableMidpointHandles?: boolean是否启用中点标记
可选renderOptions?: { depthTest?: boolean; renderOrder?: number; transparent?: boolean }渲染选项配置
可选depthTest?: boolean是否启用深度测试
可选renderOrder?: number渲染顺序
可选transparent?: boolean是否启用透明度
可选showLabel?: boolean是否显示标签(测量模式)
可选singleMode?: boolean是否启用单要素模式
可选type?: string默认绘制类型
静态 只读Drawer绘制器类型常量
包含所有支持的绘制类型:
POLYGON - 多边形绘制LINE - 线段绘制CIRCLE - 圆形绘制POINT - 点绘制RECTANGLE - 矩形绘制静态 只读Editor编辑器状态枚举(用于 setStateStyle / getStateStyle 的 state 参数)
DRAWING - 绘制中(用户正在落点的预览状态),值 'drawing'CREATED - 已创建(绘制完成的要素),值 'created'EDITING - 编辑中(点击已创建要素后的顶点拖拽状态),值 'editing'静态 只读Measure测量类型常量
包含所有支持的测量类型:
DISTANCE - 距离测量(基于线段)AREA - 面积测量(基于多边形)POINT - 点坐标测量渲染选项配置
是否显示标签(测量模式)
是否为单要素模式
当前编辑器类型
把 feature 提到所有 feature 之上(重新分配 baseOrder 并触发 rebuild) 注意:当前 rebuild 内部尚未使用 baseOrder(spec §五 完整双层语义留待后续)
将 circle 要素(Point+radius)转换为 Polygon 要素
非 circle 要素原样返回。
GeoJSON Feature 对象
可选options: { vertices?: number }转换选项
可选vertices?: numberPolygon 顶点数量,越大越圆滑
转换后的 Feature
调试输出每层来源
启用要素编辑功能
允许用户编辑已绘制的要素,支持通过要素ID或过滤函数指定要编辑的要素。在测量模式下,还可以选择是否为编辑的要素创建测量标签。
可选featureIdOrFilter: string | Function要素ID或过滤函数,用于指定要编辑的要素。 如果不指定,则编辑所有要素
可选createMeasureLabels: boolean = false是否为编辑的要素创建测量标签
获取当前主题
导入GeoJSON格式数据到编辑器
支持导入标准的GeoJSON数据,并将其转换为编辑器可编辑的要素。
GeoJSON格式的数据对象
可选options: { clear?: boolean; fitBounds?: boolean }导入选项配置
可选clear?: boolean是否清除现有数据
可选fitBounds?: boolean是否自动调整视图范围
导入是否成功
单 feature 样式覆盖
状态样式覆盖
'drawing'|'created'|'editing'(推荐用 EditorState 枚举)
设置要素样式(老 API)
样式配置对象
可选fillColor?: string填充颜色
可选opacity?: number透明度
可选strokeColor?: string边框颜色
可选strokeWidth?: number边框宽度
可选type: string要素类型,不传则设置为所有类型的默认样式
设置主题(10 个 token 的浅合并)
按形状类型覆盖样式
'polygon'|'rectangle'|'line'|'point'|'circle'
{fillColor?, strokeColor?, strokeWidth?, pointSize?}
开始绘制或测量操作
根据 showLabel 配置决定调用绘制功能还是测量功能。当 showLabel 为 true 时,会根据当前 type 自动判断测量类型。
可选options: { continuous?: boolean }操作选项
可选continuous?: boolean是否启用连续绘制/测量模式
操作结果
更新指定要素的样式
为已存在的要素更新样式,支持单个要素或批量更新。
要素ID或ID数组
新的样式配置
可选fillColor?: string填充颜色
可选opacity?: number透明度
可选strokeColor?: string边框颜色
可选strokeWidth?: number边框宽度
可选replace: boolean = false是否完全替换样式,false表示合并样式
地图编辑器类
提供地图要素绘制、编辑、测量、样式管理、数据导入导出等功能。支持多边形、线、点、圆、矩形等几何类型的操作。
示例