APS中MarkupsCore退出编辑模式后如何恢复Viewer工具栏?
Autodesk Platform Services(APS)中MarkupsCore退出编辑模式后恢复工具栏的问题
在APS的Viewer中,调用MarkupsCore扩展的enterEditMode()方法会隐藏Viewer工具栏,但调用leaveEditMode()后工具栏并未自动恢复,请问编辑完成后如何重新启用工具栏?
现有代码示例
进入编辑模式:
NOP_VIEWER.loadExtension('Autodesk.Viewing.MarkupsCore').then((ext)=>{ markup=ext; markup.enterEditMode(); });
退出编辑模式:
markup.leaveEditMode();
解决方案
由于leaveEditMode()方法没有内置恢复工具栏的逻辑,需要手动调用Viewer的showToolbar()方法重新显示工具栏。
方式一:直接在退出编辑后调用
修改退出编辑模式的代码,添加手动显示工具栏的语句:
markup.leaveEditMode(); // 手动恢复Viewer工具栏 NOP_VIEWER.showToolbar();
方式二:监听编辑模式切换事件
如果需要适配多种退出编辑的场景(比如通过快捷键或其他操作退出),可以绑定MarkupsCore的editModeChanged事件,自动在退出编辑时恢复工具栏:
NOP_VIEWER.loadExtension('Autodesk.Viewing.MarkupsCore').then((ext)=>{ markup=ext; // 监听编辑模式变更事件 ext.addEventListener('editModeChanged', (event) => { // 当退出编辑模式时,显示工具栏 if (!event.isEditing) { NOP_VIEWER.showToolbar(); } }); markup.enterEditMode(); });
内容的提问来源于stack exchange,提问作者anthip
相关产品推荐
相关产品推荐

