我是Android新手,正在开发GPS应用程序。我在此应用程序中使用谷歌地图,但它显示空白的mapview。
首先,我找到了MD5和SHA1指纹。 然后使用SHA1我得到了谷歌APi密钥。 我在我的应用程序中使用了该键。
我已设置了所有权限,但地图仍未加载.. 在logcat窗口,它显示错误..
无法找到com.google.settings的提供商信息 并且无法获得连接工厂客户端。
请指导我......问题出在哪里?
答案 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.运行申请书
以上步骤将在模拟器中加载谷歌地图