我们在我们的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上测试了该应用程序。
升级时
我必须添加以使其工作 -
我正在使用
implementation 'org.osmdroid:osmdroid-android:6.1.0'
implementation ('org.osmdroid:osmdroid-mapsforge:6.1.0')
implementation 'org.mapsforge:mapsforge-map-android:0.11.0'
implementation 'org.mapsforge:mapsforge-map:0.11.0'
implementation 'org.mapsforge:mapsforge-themes:0.11.0'
也许丢失的.svg文件已移至另一个包中?