13

我目前正在尝试使用 MapView 对象在 TabActivity 的不同选项卡中拥有 2 个地图 v2。问题出现在以下场景中:

  • 显示带有地图的 tab1
  • 转到 tab2 以显示另一张地图
  • 在第二个选项卡中,第一个选项卡中的地图图像看起来与新地图重叠。见下图:

带有 2 个地图的 TabActivity

在右侧,您可以看到第一张地图仍然显示在其顶部。触摸事件将转到新地图,但这并没有真正帮助。我花了很多时间尝试将我们的应用程序转换为使用片段并遇到其他类型的问题。其中之一是http://code.google.com/p/android/issues/detail?id=40035所以这也不是一个好的选择。

到目前为止,我还没有找到任何解决方法。为了轻松尝试各种更改,我编写了一个简单的应用程序并在此处提供:https ://github.com/cristizmf/TestMapsV2 。它只需要地图库项目的正确位置和清单中的良好地图键。

任何想法将不胜感激。

稍后编辑:我为此记录了一个问题:https ://code.google.com/p/gmaps-api-issues/issues/detail?id=5027&thanks=5027&ts=1362071369

4

2 回答 2

0

我们遇到了完全相同的问题。我怀疑这是由于新地图使用 OpenGL 造成的——即使隐藏了一个,android 也可能无法同时处理视图层次结构中的两个 OpenGL 小部件。

我们解决此问题的唯一方法是在离开选项卡时实际删除地图视图,然后构建一个新的并在返回选项卡时将其重新添加。这确保了不会同时构建两个映射。

讨厌,但它奏效了。

于 2013-02-14T06:17:53.220 回答
0

几天前我遇到了同样的问题,并且正在为该怎么做而烦恼。

最初,我使用“Tabs the Fragment way”设置了我的应用程序,如此处所示以避免弃用的 TabActivity,并使用此 hack允许我将 Maps v1 与 Fragments 合并。它基本上只是将 Activity 屏蔽为 Fragment。

但是为了简单起见,后来切换到 TabActivity 更进一步/它更适合整个应用程序。但现在显然这个 2x Maps v2 片段问题已经成为一个问题。

所以我已经恢复到“带有片段的选项卡”,并且只为每个选项卡设置了上面提到的“黑客设置”,它允许为每个选项卡设置一个 Activity,并为每个选项卡显示多个 Maps v2。我没有深入了解它,但它似乎正在完成工作 atm,只是将一些代码放在一起进行测试..

不知道您是否对此仍有疑问/这显然不是最正确的解决方案,但只是想我会分享我的两分钱,以防您仍然需要它。

干杯。

于 2013-03-13T22:34:09.473 回答