从svg标记字符串中重新加载自定义工具

问题描述

我正在使用Markup Core扩展,并使用“编辑模式”等创建了自定义工具。该工具在首先添加到画布,拖动,调整大小以及单击保存时似乎工作正常,我可以看到我的新DotMarkup在标记数组中。

但是,当调用generateData并保存svg字符串时,尝试使用loadMarkups(svg,layerName)自定义标记将数据加载到新图层上的尝试显示在屏幕上,但无法单击,该标记标记中不可见数组(在编辑器上,或在svg标记数组中)。

任何帮助表示赞赏

解决方法

我最近也对此进行了研究,不幸的是,事实证明MarkupsCore扩展名还不支持导出和重新导入自定义标记。如果您查看extension code并搜索createMarkupFromSVG,则会在函数结尾看到带有内置标记类型的switch长字符串。因此,在加载您的自定义SVG 时,不会将其视为“标记SVG”。要变通解决此问题,您可能必须自己解析SVG字符串并手动设置扩展的内部状态(例如this.markups)。