這是个段子:
问题:在集成百度地图SDK时,地图一直无法描画
描述:今天在弄百度地图SDK,结果发现一直在报一个错误“无法在AndroidManifest.xml中获取com.baidu.android.lbs.API_KEY的值”,我纠结了很久,因为我记得我以前遇到过这个问题而且也成功过,但就是想不起来是怎么改好的了,哎~人上了岁数是真不行啊。。。接下来我们需要关注的是百度这个坑人的log,他说在在AndroidManifest.xml中获取com.baidu.android.lbs.API_KEY,那也就是说在meta-data中的key应该是com.baidu.android.lbs.API_KEY,我就在我的程序中声明了这个key,并把在百度上申请的key添了进去,然而我犯了致命的错误,就是太相信百度的log维护能力。。。原来key不叫这个名字
解决:只需要把meta-data中的key改成com.baidu.lbsapi.API_KEY即可。
调侃:当我发现这个问题的解决方式时,我恍然大悟,哦,原来我真的这么改过。。。
在使用百度地图开发时,使用手机没事儿,但是使用到模拟器就开始报错:java.lang.IllegalArgumentException: No config chosen
原因分析:
在后台打印的错误信息是:AndroidRuntime: FATAL EXCEPTION: GLThread 97
java.lang.IllegalArgumentException: No config chosen
at android.opengl.GLSurfaceView$BaseConfigChooser.chooseConfig(GLSurfaceView.java:874)
at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:1024)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1401)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
想必是OPENGL的问题了。
异常的原因是SDK找不到支持OPENGL的硬件,从论坛得知,用户勾选了Use Host Gup选项, 但是我使用的是Genymotion啊,从来没配置过这个东西啊,呵呵呵。
勾选Use Host Gup选项,说明模拟器使用的是物理机上的GPU。如果用户物理机没有独立显卡,就会报错,此种情况下不勾选这个选项就可以了。模拟器设置问题,与SDk无关。
解决方法:
使用最新的TextureMapView替代之前的MapView就可以了。