这些天要研究下google map,在开发的过程中遇到了一些问题。在网上找资料发现也有很多朋友也遇到了类似的问题。而且没有确切的解决方案。在这里本人就简要的说说自己遇到的问题和解决方案。
google map的引入,
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jercy.android.GoogleMap" android:versionCode="1" android:versionName="1.0" >
<!-- 使用权限 ,不可少-->
<uses-permission android:name="android.permission.INTERNET" />
<uses-sdk android:minSdkVersion="8" />
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" >
<!-- 使用Library说明,不可少 -->
<uses-library android:name="com.google.android.maps"/>
<activity android:label="@string/app_name" android:name=".GoogleMapActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.google.android.maps.MapView
android:id="@+id/MapView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:apiKey="0l3YQSTUctypL1EJVBlhjJi4uol-4zK2ZuJB0wg"
/>
</RelativeLayout>
以上这些是最基本的,Library、permission等都必不可少。
下面讲讲我遇到的问题:
1.在http://code.google.com/intl/zh-CN/android/maps-api-signup.html上无法获取 google map API K
解决: 这一般都是自己MD5的原因。
找到默认debug.keystore的路径 打开Eclipse,选择Windows->Preference->Android->Build,这里便是你debug.keystore的路径
在cmd命令下运行如下命令(路径是我本机的路径,各个主机不同,需要改为自己本机的地址): keystore密码默认为:android
由于sdk安装的原因,也有可能得不到MD5的值,得到的是
怎样得到MD5呢?
其实只要在cmd输入如下命令就可以了keytool -list -keystore debug.keystore -v
也就是在后面加上 -v就行了
2.程序出现Couldn't get connection factory client异常
Couldn't get connection factory client的直接原因是连接不上google地图。连不上google 地图的原因很多,但是一般的大家都可以排除,例如权限,是否引入<uses-library android:name="com.google.android.maps"/>这些
如果检查不是这些问题的话,只有一个可能android:apiKey="??????"的问题了
apikey和您的sdk不匹配。
出现apikey和您的sdk不匹配的原因很多。或许你安装了多个sdk,或许你残留了上个sdk的dug.keystory…………
总之只要让您的目前使用的sdk的MD5生成apikey您的googlemap应该就不会出现Couldn't get connection factory client异常
找到您debug.keystore 的更目录:
删除掉除ddms.cfg之外的所有的文件。这个时候也就是删除了所有的虚拟机,再从您目前所使用的sdk下新建立一个虚拟机,再启动这个虚拟机,上述删除的文件也会自己重新建立。尤其是
debug,keystore.这就是你目前版本的sdk所对应的debug.keystore了。从新生成MD5
获取apikey,加入到布局中去。
此时应该就不会有Couldn't get connection factory client的异常了
希望我的解决方案能帮助你。谢谢
转载自http://blog.youkuaiyun.com/wanli_smile/article/details/7444762