Google地图未在模拟器中加载

时间:2013-01-02 05:08:37

标签: android

我是Android新手,正在开发GPS应用程序。我在此应用程序中使用谷歌地图,但它显示空白的mapview。

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

我已设置了所有权限,但地图仍未加载.. 在logcat窗口,它显示错误..

无法找到com.google.settings的提供商信息 并且无法获得连接工厂客户端

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

2 个答案:

答案 0 :(得分:1)

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

从您的系统中获取MD5

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

通过将生成的MD5粘贴到此页面来获取API密钥

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证书。

答案 1 :(得分:0)

1。使用api 15或更低版本18创建模拟器 2。启动模拟器
3。从网络下载com.android.vending-20130924.apk和com.google.android.gms-20130924.apk文件 4。开放命令政策 5。在命令promt中切换到E:\ adt-bundle-windows-x86-20130911 \ sdk \ platform-tools的路径,
6。使用命令将下载的apk文件显式安装到模拟器,     adb install com.android.vending-20130924.apk.apk     和adb安装com.google.android.gms-20130924.apk
7.运行申请书

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