GLSurfaceView 超过 Google MapView

GLSurfaceView over Google MapView

需要叠加两个视图。一个 GLSurfaceView 和一个 MapView。我的地图视图遵循以下 Github 位置的代码:

Android Google Maps v2

GLSurfaceView 需要在地图视图之上,我相信我只是使用它

zOrderOnTop(真);

但是,我不知道如何将第二个视图添加到 class。我一直在尝试解决这个 Stack Overflow 问题:

How to overlay GLSurfaceView over a MapView in Android?

但无法使其正常工作...如有任何建议,我们将不胜感激。

此外,通过观察有关 MapViews 的开发人员参考指南,有一条注释说:"You are advised NOT to add children to this view." 覆盖 GLSurfaceView 是否会向 MapView 添加子视图?

在android工作室中你可以创建地图activity

                    MapFragment mapFragment = MapFragment.newInstance();
                    getFragmentManager().beginTransaction()
                            .replace(R.id.item_detail_container, mapFragment)
                            .commit();
                    mapFragment.getMapAsync(new OnMapReadyCallback() {
                        @Override
                        public void onMapReady(GoogleMap googleMap) {
                            // do some thing 
                        }
                    });

或尝试本教程 http://www.androidhive.info/2013/08/android-working-with-google-maps-v2/

我问了一个与这个有我的源代码的问题类似的问题。我似乎找到了一个目前有效的解决方案,但不确定它有多优雅...

基本上,我将我的视图(MapView 和 GLSurfaceView)分成了两个片段。然后我从 Activity 给他们打电话。 Fragments占用相同的区域,在MapView之后调用GLSurfaceView。

这对我有用。如果有 simpler/more 优雅的方法,请告诉我。