带有Mapsforge的Osmdroid 6.0.1:无效资源

时间:2018-08-21 06:22:16

标签: android osmdroid mapsforge

一段时间以来,我们在Android应用程序中将osmdroid与Mapsforge一起用于离线地图。本周,我们决定更新为6.0.1版。从那时起,当我尝试显示使用osmdroid的地图时,我收到以下错误:

E/XmlUtils: invalid resource: symbols/transport/helicopter_pad.svg
E/XmlUtils: invalid resource: symbols/transport/airport.svg
E/XmlUtils: invalid resource: symbols/poi/cave.svg
            invalid resource: symbols/volcano.svg
E/XmlUtils: invalid resource: symbols/peak1.svg
            invalid resource: symbols/poi/mountain_pass.svg
            invalid resource: symbols/poi/mountain_pass.svg
E/XmlUtils: invalid resource: symbols/health/hospital.svg
            invalid resource: symbols/health/pharmacy.svg
            invalid resource: symbols/health/doctors.svg
E/XmlUtils: invalid resource: symbols/poi/embassy2.svg
            invalid resource: symbols/accommodation/shelter2.svg
            invalid resource: symbols/accommodation/alpinehut.svg
E/XmlUtils: invalid resource: symbols/accommodation/camping.svg
[... more similar errors ]

地图仍然显示,但我认为上面的符号丢失了,不再显示。

我们做了什么

我们从更新了库

implementation 'org.osmdroid:osmdroid-android:5.6.5'
implementation 'org.osmdroid:osmdroid-mapsforge:5.6.5'
implementation 'org.mapsforge:mapsforge-map-android:0.6.1'
implementation 'org.mapsforge:mapsforge-map:0.6.1'

收件人:

implementation 'org.osmdroid:osmdroid-android:6.0.1'
implementation 'org.osmdroid:osmdroid-mapsforge:6.0.1'
implementation 'org.mapsforge:mapsforge-map-android:0.8.0'
implementation 'org.mapsforge:mapsforge-map:0.8.0'

我还使用osmdroid 6.0.1和原始Mapsforge库0.6.1进行了测试,结果相同。不幸的是,我不是最初将库集成到我们的Android项目中的开发人员。因此,我不确定是否需要手动添加这些资源?也许其他人也遇到了这个问题?

不确定此信息是否有帮助,但是我正在Android 6和8上测试该应用程序。

1 个答案:

答案 0 :(得分:0)

升级时

  • 来自org.osmdroid:osmdroid-android:6.0.1和org.mapsforge:mapsforge-map:0.6.1
  • 使用org.mapsforge:mapsforge-map:0.11.0与org.osmdroid:osmdroid-android:6.1.0

我必须添加才能使其正常工作

  • 'org.mapsforge:mapsforge-themes:0.11.0'

我现在正在使用

import initStoryshots from "@storybook/addon-storyshots";
import path from "path";
import { render } from "react-testing-library";


const reactTestingLibrarySerializer = {
  print: (val, serialize, indent) => serialize(val.container.firstChild),
  test: (val) => val && val.hasOwnProperty("container")
};

initStoryshots({
  configPath: path.join(__dirname, "..", "config", "storybook"),
  framework: "react",
  integrityOptions: { cwd: path.join(__dirname, "stories") },
  renderer: render,
  snapshotSerializers: [reactTestingLibrarySerializer],
  storyKindRegex: /^((?!.*?DontTest).)*$/
});

也许丢失的.svg文件已移至其他软件包?