通过Google MapView的GLSurfaceView

时间:2015-05-18 17:39:22

标签: android google-maps opengl-es-2.0 android-mapview glsurfaceview

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

Android Google Maps v2

GLSurfaceView需要位于地图视图的顶部,我相信我只是使用

zOrderOnTop(真);

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

How to overlay GLSurfaceView over a MapView in Android?

但未能让它工作......任何建议都将不胜感激。

此外,通过观察有关MapViews的开发人员参考指南,有一条说明:“建议您不要在此视图中添加子项。” 覆盖GLSurfaceView会将子项添加到MapView吗?

2 个答案:

答案 0 :(得分:1)

在android studio中你可以创建地图活动

                    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/

答案 1 :(得分:0)

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

GLSurfaceView not appearing over MapView

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

这对我有用。如果有更简单/更优雅的方式,请告诉我。