0

我正在开发一个使用 Google Maps API v2 的应用程序,并且地图在具有 Android 4.x 的设备中运行良好(相同的密钥库和相同的 API 密钥,我可以看到图块)。我遇到了 MapFragment 和 Android 2.2 设备 (HTC Wildfire) 的问题。地图是空白的。

这只是我在 logcat 中遇到的错误(两次):

E/copybit ( 4801): Error opening frame buffer errno=13 (Permission denied)
E/copybit ( 4801): Error opening frame buffer errno=13 (Permission denied)

我的 AndroidManifest.xml 中有这个功能。

<!-- Feature required by Google Maps API -->
<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

我有点失落。我之前在这款手机中使用过这个 API 没有问题。

任何帮助将不胜感激。

提前致谢。

4

2 回答 2

3

似乎这是 Android 2.2 设备上的 Google Maps v2 的问题,至少其中一些设备有问题。我的是 HTC Wildfire Android 2.2.1。我收到相同的错误消息"Error opening frame buffer errno=13"。我检查了其他帖子中与 API 密钥检查等相关的所有建议,但没有帮助。从同一个应用程序在 Android 4.2 设备(CyanogenMod 10.1)上运行良好的事实来看我得出的结论是密钥是可以的。

看到这个帖子Blank screen instead map api v2 android,评论@whisperofblood你找到原因了吗?我想我正在处理同样的问题。应用程序在 2.3 中运行良好,但不是 2.2(仅在一台 2.2 设备上尝试过) ——其他人也这么认为。

我还发现了以下信息:SupportMapFragment not shown map in android其中一个答案说使用 API v1密钥有帮助。不幸的是,我无法测试它,因为无法再创建 v1 密钥。

所以我的猜测是 GM v2 在 Android 2.2 设备上出现了问题。除非有人报告他的 GM v2 应用程序在 Android 2.2 上运行良好(如果您在 logcat 中看到“打开帧缓冲区错误 errno=13”消息,请报告,以及您有什么设备)。有人吗?我的声誉是 1,我不能发表评论等只有答案。

于 2013-09-01T18:39:26.680 回答
2

2.2设备上安装了google play吗?还是仍然是旧的 Market place 应用程序?

如果它是市场应用程序,则 MapFragment 将不起作用,因为它是 Google Play Services sdk 的一部分。

或者...

您应该检查您的项目是否已将 android-support-v4 和 google-play-services jar 添加到类路径中,并且您拥有的 api 级别是 a 和 Android 谷歌 API 不只是 Android .

添加正确的库后,您可以尝试使用来自 google android 支持库的 SupportMapFragment。进口是import com.google.android.gms.maps.SupportMapFragment;

作为一种好的做法,您应该在应用启动时检查一下设备上是否安装了 Google Play。您可以提供不支持的消息或将用户链接到下载的 Google Play...

像这样:检查 Google Maps Android API v2 是否有正确的 Google Play 服务可用

于 2013-07-30T15:57:44.280 回答