箱子
箱子
  • 发布:2016-06-06 14:55
  • 更新:2016-06-08 11:11
  • 阅读:2601

高德地图集成

分类:5+ SDK

按照http://ask.dcloud.net.cn/article/212 地址离线集成高德地图后,在启动程序的时候报一下错误:
> java.lang.ClassNotFoundException: io.dcloud.js.map.MapInitImpl
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:251)
at java.lang.Class.forName(Class.java:216)
at io.dcloud.feature.b.a(FeatureMgr.java:412)
at io.dcloud.feature.b.processEvent(FeatureMgr.java:123)
at io.dcloud.common.b.a.dispatchEvent(Core.java:387)
at io.dcloud.common.b.a.a(Core.java:142)
at io.dcloud.common.b.a.a(Core.java:120)
at io.dcloud.common.b.b.a(PandoraEntryProxy.java:50)
at io.dcloud.EntryProxy.onCreate(EntryProxy.java:94)
at net.feelsky.byfz.integrate.SDK_WebApp.onCreate(SDK_WebApp.java:55)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2151)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2236)
at android.app.ActivityThread.access$800(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1199)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5095)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NoClassDefFoundError: io/dcloud/js/map/MapInitImpl
... 25 more
Caused by: java.lang.ClassNotFoundException: Didn't find class "io.dcloud.js.map.MapInitImpl" on path: DexPathList[[zip file "/data/app/net.feelsky.byfz-2.apk"],nativeLibraryDirectories=[/data/app-lib/net.feelsky.byfz-2, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
... 25 more

然后本能的就去找io.dcloud.js.map.MapInitImpl 这个包,结果在map-baidu.jar中找到了这个类,引入后又报:exception: java.lang.NoClassDefFoundError: com.baidu.mapapi.SDKInitializer
这是有初始化百度地图的预感,问问大神,是需要导入百度地图的包么?如果不是又该如何处理?

2016-06-06 14:55 负责人:无 分享
已邀请:
骁骑

骁骑

http://ask.dcloud.net.cn/article/212文档有误 已经修正
把下面这句从properties.xml文件中删除即可
<service name="Maps" value="io.dcloud.js.map.MapInitImpl" />

箱子

箱子 (作者)

@DCloud_SDK_骁骑 感谢大神的回答。
大神说的是主要原因,但是我这边去掉<service name="Maps" value="io.dcloud.js.map.MapInitImpl" />地图仍然不能正常显示。然后断点找了下原因,主要原因如下:
1.在map-amap.jar中的io.dcloud.js.map.amap.a.d类的135行 有一句:
Bitmap var1 = BitmapFactory.decodeStream(PlatformUtil.getResInputStream("res/point.png"));
因找不到这个资源所以启动地图的时候报错。
2.在官方的项目中maps_map.html页面中有一个marker.setIcon("/logo.png"); 找不到,也报错。
第一点我再assets目录下添加了res/poing.png,第二点我直接删除了这行代码。
通过以上两点项目正常启动。

该问题目前已经被锁定, 无法添加新回复