通过 SVG 保存和加载图钉标记

Posted

技术标签:

【中文标题】通过 SVG 保存和加载图钉标记【英文标题】:Save and Load Pushpin Markup by SVG 【发布时间】:2019-12-07 19:55:22 【问题描述】:

我遵循本教程 https://forge.autodesk.com/blog/create-pushpin-markup-svg 用于在 3D 视图上创建 SVG 标记。当我把标记放在我的 3D 查看器中时,一切都很好。但是,您知道如何将这些标记保存在我的数据库中并将其再次加载到查看器中吗? 谢谢。

【问题讨论】:

【参考方案1】:

第一个想法与我在博客中所做的类似,存储图钉几何数据(类型、位置、半径等),然后使用与博客代码相同的逻辑再次渲染图钉。

虽然,另一种通用方法是将 svg 序列化为 base64 字符串。 Convert inline SVG to Base64 string 并在下次加载图钉时使用 base64 设置 svg 的 src: How to set base64 svg string to image tag src?

其实 Forge Viewer 的 Markup 也是 SVG。它提供了方法markupsExtension.generateData() 这也转而调用 xmlSerializer.serializeToString 来生成 base64 字符串。

希望这会有所帮助。

【讨论】:

以上是关于通过 SVG 保存和加载图钉标记的主要内容,如果未能解决你的问题,请参考以下文章

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

将 SVG 标记从 HTML 页面保存到 SVG 图像

如何保存用户位置并使用图钉(或其他标记)将其显示在地图上?

对象标记加载 SVG 但其内容文档为空

H5中canvas和svg绘图方式介绍

重新启动应用程序后显示放置图钉?