我已经为 Android 创建了一个 SVG 图像解析器类,它运行良好,并且对于我想要的目的来说非常完整。我目前正在编写的应用程序利用了我事先在 Inkscape 中设计的建筑平面图。现在,我想做的是能够在计划上标记特定的 X、Y 点,这些点不会被渲染,但只会用于通知软件应用程序特定点在计划中的位置。这样应用程序就可以在运行时以编程方式将各种标记放置在这些点上。
它的实际编码不是问题。虽然我可以使用各种对象,但我目前已经使用文本字符串工作了。我所做的是放置一个文本字符串,并给文本字符串的 ID 属性一个特殊的前缀,例如“_meta”。然后,我的 SVG 解析器识别该前缀,并记录字符串的 X、Y 坐标以及我在“_meta”前缀之后放入 ID 属性中的任何其他元数据。字符串不会呈现到屏幕上;它纯粹是为了告诉软件一个特定的点。
这行得通,我可以愉快地继续这样做,但我想知道是否有更“正确”或更优雅的方式来做到这一点。我查看了 SVG 规范,我对标准元数据标签的理解是它们只能传达有关图像的信息。据我所知,没有专门用于标记任何 X、Y 点的对象。使用对象的 ID 字段来传达程序解析的信息是可行的,但它似乎有点错误并且滥用了 ID 属性的用途。
我应该考虑其他任何方法吗?
谢谢,
特雷夫