Android studio显示方格

一问题描述
二解决方法
三更好的方式
一.问题描述
不显示百度地图目前我遇见了两种情况: 
(1)开发的时候不显示百度地图,只显示网格; 
(2)开发的时候会显示地图(模拟机or真机),打包成apk后安装到手机上却只显示网格不会显示地图,或者在手机上一开始显示地图,但是缩放后发现只是一个矩形框内的地图显示,而矩形框外的部分只显示网格;

二.解决方法
(1)针对第一种,在开发阶段都不会显示地图的原因,从以下几个方面排查: 
之前的一篇博文里也详细记录了配置过程和问题解决的方法:点击查看,在这里只是将可能出现的环节再次列出来。

网络 
手机是否连网了,低级错误,但是往往被我们忽视;
AK 
申请API_KEY的时候,是否正确填写了包名和SHA1,包名和SHA1的获取,官网有教程。 
AK申请地址:http://lbsyun.baidu.com/apiconsole/key/create 
配置教程地址:http://lbsyun.baidu.com/index.php?title=androidsdk/guide/key
AndroidManifest中的配置 
比如API权限、API_KEY、以及uses-permission、meta-data的位置等等
(2)第二种问题也是自己刚发现的,明明在开发的时候可以显示地图(我用的真机),地图的各种监听事件等等都是可以的,但是自己打包生成apk,然后重新安装到手机上的时候,居然出现了只显示网格不显示地图;同时还出现过只显示一小部分地图,缩放后发现,地图不会更新,不会显示完整的地图。针对这两个情况,出现的原因都是一个:API_KEY不正确。可是,明明开发的时候就是ok的,为何打包后既不会了呢?那是因为SHA1签名已经改变了,至于为什么改变了,可能光知道SHA1是什么还不够。那么解决方案就出来了,利用apk的SHA1+包名重新申请AK。

- 获取新的SHA1 
打包的时候会生成一个 自命名.jks文件,打包过程请点击查看,最主要的就是这个jks文件。然后在命令窗口进入到这个jks文件的目录,输入keytool -list -v -keystore 自命名.jks,于是就可以看到SHA1,然后用这个SHA1和包名去重新申请AK,将新的AK配置到AndroidManifest.xml中,参见下图。

然后重新打包生成apk,安装到手机上就可以了。

三.更好的方式
为什么有一个更好的方式呢?因为今天发现百度地图提供了一个二合一的AK生成方式:同时可输入发布SHA1和开发SHA1,这样生成了一个AK,既可用于开发也可用于发布,亲测完美。 


所以我最后使用的将是二合一的AK。 

本文来源于https://blog.csdn.net/chentravelling/article/details/51385052 ,如有不当请告知删除

猜你喜欢

转载自blog.csdn.net/MISSRIVEN/article/details/85251803