5


我正在尝试使用svg-android显示我从openstreetmap导出的路线图。
我按照教程中的步骤操作,它与 test.svg 图形 (3KB) 配合得很好。但是导出的地图大约是 500KB。当我尝试加载地图时,我得到一个 SVGParseException:

System.err: com.larvalabs.svgandroid.SVGParseException: java.lang.NumberFormatException
System.err:     at com.larvalabs.svgandroid.SVGParser.parse(Unknown Source)
System.err:     at com.larvalabs.svgandroid.SVGParser.getSVGFromResource(Unknown Source)
System.err:     at my.package.view.SVGMapView.loadSVGImage(SVGMapView.java:141)

第 141 行说:

svg = SVGParser.getSVGFromResource(getResources(), R.raw.test);

是否有可能在额外的线程中预加载 svg 图像,或者是否有更好的解决方案来解决我的问题?

谢谢

4

1 回答 1

6

在这种情况下,Android 的 svg 库非常有限,因为它不支持完整的 SVG 规范。您保存的地图包含一些 svg-android 根本无法管理的功能。不幸的是,除了尝试不同的格式外,您无能为力。

顺便说一句,线程不会使问题变得更好。这将使图像的加载发生在后台,但它不能解决根本问题,即 SVG 文件只包含无法解析的内容。

您可以尝试通过离线 SVG 工具加载文件,然后使用所需格式SVG Basic 1.1重新保存。

于 2012-11-18T21:46:40.977 回答