antvis / L7Draw

L7 绘制控件
MIT License
48 stars 31 forks source link

🥰 [FEATURE] 增加控件的监听事件“drawEnd” #185

Open chinyifei opened 1 week ago

chinyifei commented 1 week ago

💻 Features description [Please make everyone to understand it]

  监听控件‘line’|‘polygon’|‘rect’|‘circle’绘制结束事件

🏞 What problem does this feature solve

  当控件结束绘制之后,退出当前的绘制状态,可以实现不必用户再次点击激活的绘制类型退出绘制状态

🧐 What does the proposed API look like

名称 说明 类型
ControlEvent.DrawChange 'drawChange' 当激活绘制变化时触发 (type: DrawType null) => void;
ControlEvent.DataChange 'dataChange' 当绘制数据发生更改时触发 (drawData: Record<DrawType, Feature[]>) => void;
ControlEvent.DrawEnd 'drawEnd' 当前绘制结束 (drawType: DrawType) => void;

🚑 Any additional [like screenshots]

目前我的实现是这样的:

  drawControl.on(ControlEvent.DrawSelect, (drawType, feature) => {
        console.log('当前选中数据发生更改', drawType, feature);
        // 退出绘制状态
        if (!feature) {
          drawControl.setActiveType(drawType);
        }
      });