我正在使用一个带有多个frgmetns的活动,其中每个frgmetns都在其片段中保存一个MapView。
这是一个报告的错误,我发生在4.0.4 android(也可能在4.0上)但在较高版本上正常工作。
https://code.google.com/p/gmaps-api-issues/issues/detail?id=5027
Multiple maps v2 in TabActivity
当添加新片段时,两个地图都会显示。如果添加了第三个片段,则显示所有树图。我已尝试应用hideStupidMaps修复,如上所述,但它没有提供任何结果(我在onResume / onPause中添加了隐藏/显示地图的调用)。
我还在调用FragmentManager及其事务之前添加了隐藏前一个映射的调用,但没有结果。
我已经尝试将MapView的可见性设置为INVISIBLE但也没有结果,地图的previos地图仍然显示,就像没有刷新一样?
有没有办法将zIndex设置为MapView?我知道你可以通过GoogleOptions使用MapFragment设置z索引,但是我找不到用MapView做的选项吗?
GoogleMapOptions options = new GoogleMapOptions();
options.zOrderOnTop(true);
fragmentMap = SupportMapFragment.newInstance(options);
答案 0 :(得分:0)
我设法让它运转起来。问题是我实际上是在片段事务后调用hideStupidMaps,而在4.0.4 android上它在4.1上工作时没有任何效果。我在Fragment事务之前移动了调用并且它运行了。唯一的缺点是用户可以在片段动画开始之前看到地图消失。
我还添加了一个OnBackStackChangedListener,我会在通过后退按钮/操作栏返回时显示以前隐藏的地图。
希望它可以帮助某人,以及一条建议,如果可以的话,可以避免碎片中的多张地图......