使用svg-android库

时间:2011-07-11 14:10:39

标签: android svg svg-android


我正在尝试使用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图像,或者是否有更好的解决方案来解决我的问题?

感谢

1 个答案:

答案 0 :(得分:6)

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

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

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