问题描述:有些应用开发人员可能会遇到这样的问题,明明之前项目中已经集成好了百度地图的插件,但是在后续的开发过程中,发现能获取定位信息,而无法显示地图图层。
前提:
1.排除网络问题,建议在外网环境下测试,部分公司内网会有屏蔽作用;此外,网络信号的强弱也会对定位效果有影响。
2.已经正确集成过百度插件,即原本可以显示地图,后续开发时,能获取定位信息,但不显示地图图层。
图示:(只显示网格,但此时可以Log出定位信息)
原因:应用签名发生改变,导致百度地图开放平台中相应应用的安全码校验错误,无法显示地图。
案例:程序员在公司开发并成功集成了百度地图,未签名后直接使用项目bin下的.apk文件可使用并查看地图,当程序员把项目代码copy回家后用自己的电脑上的Eclipse运行时,此时不管签名与否,后面在家生成的.apk文件只能定位,不能显示图层。
案例分析:
若程序员不主动为应用签名(使.apk文件前后签名保持一致),则Eclipse会使用默认的签名方式为.apk文件签名(每个Eclipse的签名的key不尽相同),从而导致同样的应用程序代码生成了不同签名的.apk文件。
解决办法:
方法一:保证项目前后生成的.apk文件的签名一致。(一般需程序员用同样的key打包签名)
方法二:若前后应用的签名不一致,在百度地图的开发者平台修改相应的安全码即可。
方法二步骤:
步骤一:进入百度地图开放平台的应用列表,找到对应的应用,进入设置。
步骤二:在修改应用中的安全码项,按要求提交安全码即可,无需修改程序代码。
Android SDK安全码组成:数字签名+;+包名。 如果开发者不知道如何获取数字签名,页面中有详细配置方法的链接。
最后重启应用,即可显示地图:
转载请注明出处:
http://blog.csdn.net/daijin888888/article/details/49334523