2013-03-12 50 views
3

我在新的v2 API中遇到了Google地图对象的问题。我试图添加方法来显示和隐藏地图对象,但我似乎无法得到它的工作。Google Maps Android v2 - 无法隐藏地图片段

例如 - 我有一个名为MyMapFragment的类,它扩展了MapFragment类。

我已经尝试了几种方法,我已经在这里看到过,但是这两种方法都不适合我。

选项1: 里面MyMapFragment类,我已经打过电话:

this.getFragmentManager().beginTransaction().hide(this).commit(); 

选项2: 我试图隐藏实际包含视图,使用类似以下内容:

getActivity().getWindow().findViewById(CONTENT_VIEW_ID); 
v.setVisibility(View.INVISIBLE); 

这两个选项都可以成功隐藏地图的UI控件(即缩放控件),但实际地图不会隐藏。

有没有人看到这种隐藏地图片段的方法可能会出错?

帮助非常感谢!

回答

1

我有同样的问题(请参阅MapFragment and Camera seem to interfere with each other in the same Activity)。在我的情况下,用户CommonsWare建议我的问题是因为我在一个单独的Activity中使用了两个SurfaceView对象,而我就是这样。当我为一个应用程序使用两个活动时,我的问题就消失了。也许这就是问题的根源呢?

+0

啊是的,我认为这正是问题所在。主要活动确实使用了SurfaceView,并且我将一个新的包含地图片段的FrameLayout添加到该活动中。是否有可能使用其他活动来保存地图片段/视图,但将其显示在基本活动的顶部还是顶部? (我对Android非常陌生,所以如果这些都是基本问题,请原谅我!) – koriner 2013-03-13 22:36:55

2

尽量把它放在FrameLayout,然后分配ID来布局和显示/隐藏整个布局与方法.setVisibility(View.GONE/View.VISIBLE)

不知道这是否是正确的做法,但它为我工作。

希望它有帮助!