android使用google map时无法显示地图或者只显示方格(或者模拟器上显示地图真机上却显示方格)的问题主要有两个原因:
1.没有配置好mapview的使用环境;
2.没有获取正确的Maps API Key。
至于可能是其他硬件原因,不作分析。
配置好mapview的使用环境:
(1.)需要在新建项目中选中正确的Build Target选项,即Google APIs版本;
(2.)在 AndroidManifest.xml配置文件中引用maps library <uses-library android:name=”com.google.android.maps” />(application标签内)以及网络访问权限<uses-permission android:name=”android.permission.INTERNET” /> ;
(3.)在布局文件的MapView标签属性android:apiKey中引入Maps API Key,同时注意加上两个属性android:clickable=”true”
android:enabled=”true”。
(2.)在 AndroidManifest.xml配置文件中引用maps library <uses-library android:name=”com.google.android.maps” />(application标签内)以及网络访问权限<uses-permission android:name=”android.permission.INTERNET” /> ;
(3.)在布局文件的MapView标签属性android:apiKey中引入Maps API Key,同时注意加上两个属性android:clickable=”true”
android:enabled=”true”。
大多数问题在于没有获取正确的Maps API Key,这会导致地图上面只显示方格而无法显示正确的地图。需要了解的是,每个android的应用程序都需要一个keystore,在调试过程中生成的apk文件就包含一个默认的debug.keystore,默认路径C:\Documents and Settings\Administrator\.android\debug.keystore,这个可以在eclipse->Windows->Preferences->Android->Build可以看到路径。
获取Maps API Key的教程,可以简单的两步实现:
1.打开http://code.google.com/intl/zh-CN/android/maps-api-signup.html页面,在windows cmd模式下,进入debug.keystore所在的目录输入keytool -list -keystore debug.keystore,输入默认的密码android,就可以在本机上获取认证指纹(MD5)。如图-1
![9.jpg 9.jpg](http://www.apkbus.com/data/attachment/forum/201112/06/182938twzc6btoomt7t6ii.jpg)
图-1 cmd命令行获取认证指纹(MD5)
2.在上面的网页下面My certificate’s MD5 fingerprint输入框输入上面的认证指纹MD5,跳转页面可以获得Maps API Key。
上面的两个步骤是为debug.keystore获取Maps API Key。当应用程序再次发布时,需要使用新的keystore,而不是使用默认的debug.keystore,这时候需要重新获取API Key。至于如何生成新的keystore,可以参考eclipse 将android项目打包成签名的apk文件,重新获取Maps API Key,执行keytool -list -keystore debug.keystore命令时,将debug.keystore换成新生成的keystore文件,获取新Maps API Key,如下图:
上述过程就解释了模拟器上显示地图方格(没有获得正确的debug.keystore的API Key)与在真机上显示方格的两个问题(没有重新获取新的keystore文件的API Key)。采用真机调试模式连接到真机的应用程序,不需要重新获取API Key。至此,关于android使用google map时显示方格的问题得以解决。如果读者你认为还出现其他问题仍然无法显示正确的地图,可以留言讨论
![](https://img-my.csdn.net/uploads/201207/16/1342411991_5366.jpg)