2013-01-02 119 views
0

我是新来android和工作的GPS应用程序。我在这个应用程序中使用谷歌地图,但它显示空白mapview。谷歌地图不加载模拟器

首先,我找到了MD5和SHA1指纹。 然后使用SHA1我得到了谷歌API密钥。 我在我的应用程序中使用了该键。

我已经设置所有的权限,但仍地图没有加载.. 和logcat的窗口,它显示错误..

未能找到com.google.settings供应商信息可能没有得到连接工厂客户端

请指导我..问题在哪里?

回答

1

默认情况下,MapView示例没有设置API密钥。所以你必须设置它。这里是一步一步:

从系统

%JAVA_HOME%\bin\keytool.exe -list -alias androiddebugkey -keystore "%userprofile%\.android\debug.keystore" -storepass android -keypass android 

获取API密钥获取MD5通过粘贴生成MD5此页

http://code.google.com/android/maps-api-signup.html

粘贴生成API密钥至{your_project_root}/res/layout/map.xml

<com.google.android.maps.MapView 
    android:id="@+id/myMapView" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:enabled="true" 
    android:clickable="true" 
    android:apiKey="paste_generated_api_key_here" 
/> 

在AndroidManifest.xml中,请确保您有如下因素代码到你的应用程序标签:

<uses-library android:name="com.google.android.maps" /> 

,也如下因素代码到你的清单标签:

<uses-permission android:name="android.permission.INTERNET" /> 

刷新您的项目,运行

注:

您的系统上keytool.exe,debug.keystore和map.xml的路径可能有所不同。 如果您发布您的应用,请务必注册另一个API密钥。 如果不设置API密钥正确,你的应用程序将无法在手机和错误消息可能是“......意外停止,请重试。 - 强行关闭” 更多细节在 http://d.android.com/guide/tutorials/views/hello-mapview.html

编辑

随着JDK 1.7安装,keytool总是默认输出SHA1指纹,而不是MD5。您可以通过添加-v选项来获得MD5证书。

使用下面的代码: -

%JAVA_HOME%\bin\keytool.exe -v -list -alias androiddebugkey -keystore "%userprofile%\.android\debug.keystore" -storepass android -keypass android 

它将输出MD5证书也是如此。

+0

..当我越来越API密钥它要求SHA1不适用于MD5。 –

+0

我想知道这是由于使用SHA1的问题? 获取api密钥时是否需要使用MD5? 如果是..然后让api进程hasbeen更新,它只会询问SHA1 .. –

+0

只是指http://mobiforge.com/developing/story/using-google-maps-android –

0

1。用api 15或以下创建模拟器18
2。启动模拟器
3。 downlaod com.android.vending-20130924.apk和com.google.android.gms-20130924.apk文件来自网络
4。打开命令promt
5。切换路径到E:\ adt-bundle-windows-x86-20130911 \ sdk \ platform-tools in命令promt,
6。下载安装apk文件explicitlly与命令模拟器, ADB安装com.android.vending-20130924.apk.apk 和亚行安装com.google.android.gms-20130924.apk
7.运行应用程序

上述步骤将加载谷歌地图在模拟器