由于新的 Google Maps Android API V2 需要 Google Play 服务,是否需要启用“后台数据”才能运行地图应用?我习惯于在不需要时关闭后台数据,因为它会很快耗尽电池,而且我不希望我的应用程序要求启用它。
更新:花了一天时间尝试通过以下方式进行研究:
- 安装 Android 支持库和 Google Play 服务 SDK(哦,看,已经有 rev. 3 的更新可用)。- 导入https://developers.google.com/maps/documentation/android/intro#sample_code > 中引用的示例代码。
- 获取新的 maps v2 API 密钥,并将其放入 AndroidManifest.xml
- (重新)配置示例代码,并运行/调试它。
演示应用程序不会在模拟器上运行,因为 Play 服务需要无法内置到模拟器中的软件,而且似乎需要做很多工作来解决这个问题,也许其他时间。所以我在带有 Froyo 的 Samsung Intercept 上运行了演示。SupportMapFragment 和/或 com.google.android.gms.maps.MapView 代码让我开始更新 Google Play 服务 APK。为此,我需要启用“背景数据”(这是最初的问题)。之后,该应用程序允许我选择各种地图演示,但没有一个显示地图。
LogCat 显示:
12-04 19:50:28.937: I/(18909): =======Chunk::PrintChunkBlckInfo ====== 12-04 19:50:28.937: I/(18909): libGLESv1_CM_fimg.so 已卸载并且 GLES 1.1 API 已成功取消映射 12-04 19:50:34.557: I/(18909): libGLESv1_CM_fimg.so 已加载并且 GLES 1.1 API 已成功映射 12-04 19:50:34.562:我/(18909):
12-04 19:50:34.562: I/(18909): [块分配器] 1 个块(块大小:0x100000) 12-04 19:50:34.562:我/(18909):
12-04 19:50:34.562: I/(18909): =======Chunk::PrintChunkBlckInfo ====== 12-04 19:50:34.562:我/(18909):
12-04 19:50:34.562:我/(18909):------------------------ ------------------ 12-04 19:50:34.562: I/(18909): [0] 使用标志:1,开始:0,大小:1048576,下一个:0x0 12-04 19:50:34.562:我/(18909):
12-04 19:50:34.562:我/(18909):------------------------ ------------------ 12-04 19:50:34.562: I/(18909): 总纹理大小 0 字节 0 KB 总纹理计数 0 12-04 19:50:34.562:我/(18909):
12-04 19:50:34.562:我/(18909):------------------------ ------------------ 12-04 19:50:34.937: E/(18909): glCompressedTexImage2D(0xde1, 0, 0x8b96, 32, 8, 0, 1280, 0x0x369c70); 12-04 19:50:34.942: E/(18909): glCompressedTexImage2D(0xde1, 0, 0x8b96, 32, 8, 0, 1280, 0x0x379b90); 12-04 19:50:34.962: E/(18909): glCompressedTexImage2D(0xde1, 0, 0x8b96, 16, 1, 0, 1040, 0x0x347ac0);
所以现在,我仍然没有明确的答案,也不知道地图不显示的原因是我的密钥生成/插入问题(在 LogCat 中没有任何指示),还是(更有可能?) OpenGL的一个问题。