我正在使用MarkupsCore扩展来构建基于云的注释系统。我能够成功地将标记单独存储在数据库中,并将它们作为一个完整的SVG字符串加载回去。但是,我对能够删除它们感到困惑。通常,我会将数据库ID附加到标记中,然后将其删除。但是,我不知道在这种情况下该怎么做。我是否可以存储任何唯一的属性,这些属性是标记的一部分,可用于标识它们以将其删除?
此外,是否有特定原因导致MarkupsCore扩展没有创建标记时触发的事件?我本人可以解决此问题,但我很好奇。
答案 0 :(得分:1)
如果您想绕过标准存储机制(使用MarkupCore扩展名上的generateData()
和loadMarkups()
方法),则可以单独存储数据,然后使用以下方法:
viewer.loadExtension('Autodesk.Viewing.MarkupsCore').then((extension) => {
const CoreNS = Autodesk.Viewing.Extensions.Markups.Core;
extension.clear();
extension.enterEditMode();
let rect = new CoreNS.MarkupRectangle(123 /* your custom ID */, extension);
extension.addMarkup(rect);
rect.setSize({ x: 10, y: 10 }, 100 /* width */, 100 /* height */);
extension.leaveEditMode();
console.log('markup data', extension.generateData());
});