我正在尝试我的第一个谷歌地图应用程序。我按照vogella http://www.vogella.com/articles/AndroidGoogleMaps/article.html教程中的所有步骤进行了操作。
我创建了一个api密钥,并在清单文件中使用了相同的密钥。
声明清单文件中的所有权限。
当我在手机上运行时,应用程序运行正常,但是当我尝试在模拟器上运行时,我只得到带有缩放图标的空屏幕,并且在错误控制台中我得到
06-25 06:06:54.387: E/Google Maps Android API(7808): Google Maps Android API v2 only supports devices with OpenGL ES 2.0 and above
我正在尝试使用google api 4.2.2在模拟器上运行。
清单文件
<permission
android:name="com.sample.maps.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="false" />
<uses-permission android:name="com.sample.maps.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.sample.maps.Presentlocation"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<uses-library android:name="com.google.android.maps" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyD0Ku3-ysyNupHy59CtfvX6Cfmz_ob0pkk"/>
</application>
XML文件
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.MapFragment"
/>
Java文件
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.presentlocation);
}
我正在做的错误是什么?
感谢:)
答案 0 :(得分:2)
Android的默认ARM模拟器没有Google地图所需的OpenGL ES 2.0支持。您需要获得x86模拟器。他们支持此功能,谷歌地图应该可以正常运行。
如何设置x86模拟器: https://stackoverflow.com/a/13856866/1369222
关于硬件加速的官方文档:https://developer.android.com/tools/devices/emulator.html#acceleration
答案 1 :(得分:0)
您需要使用DDMS为设备提供经度和纬度 - &gt;仿真器控制。
答案 2 :(得分:0)
您需要使用DDMS为设备提供经度和纬度 - &gt;仿真器控制。对于地图v1,要显示地图,我们需要使用用于检索API的密钥库对apk进行签名。
答案 3 :(得分:0)
下载以下APK
[com.android.vending-1.apk][1]
[com.google.android.gms-1.apk][2]
使用ADB将这两个APK安装到运行(目标)模拟器中 命令:
adb -e install [path-to-APK-file]
答案 4 :(得分:0)
弱者: A.在清单中,所需的密钥是浏览器密钥,而不是应用密钥:
B中。版本需要更新(目前为21) C.如果运行Windows,请确保安装最新的Intel HAEM并使用Google API启动AVD D.将示例项目导入Android Studio。如果它错过了元数据,它会告诉你它的外观和添加位置。
构建,运行,享受十几个样本。瞧!