我正在尝试使用 svg-android显示我从 openstreetmap 导出的路线图.
我按照教程中的步骤进行操作,它与 test.svg 图形 (3KB) 配合得很好。但是导出的 map 大约有 500KB。当我尝试加载 map 时,出现 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 图像,或者是否有更好的解决方案来解决我的问题?
谢谢
最佳答案
在这种情况下,Android 的 svg 库非常有限,因为它不支持完整的 SVG 规范。您保存的 map 包含一些 svg-android 根本无法管理的功能。不幸的是,除了尝试不同的格式外,您无能为力。
顺便提一下,线程不会使问题变得更好。这将使图像加载在后台发生,但它不能解决根本问题,即 SVG 文件只包含无法解析的内容。
您可以尝试通过离线 SVG 工具加载文件,并以所需格式重新保存,SVG Basic 1.1 .
关于android - 使用 svg-android 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6651381/