gpt4 book ai didi

android - 如何在 Android 中将 GLSurfaceView 覆盖在 MapView 上?

转载 作者:太空宇宙 更新时间:2023-11-03 12:25:36 24 4
gpt4 key购买 nike

我想在 android 中创建一个简单的基于 map 的应用程序,我可以在其中显示我的当前位置。我想在 MapView 上覆盖 GLSurfaceView,而不是在 MapView 上覆盖一个简单的图像来表示位置。但我不知道如何实现这一目标。有什么办法吗?请任何知道解决方案的人帮助我。

最佳答案

在我查看文档并意识到 MapView 扩展了 ViewGroup 之前,我一直陷入类似的问题,因此覆盖 GlSurfaceView 实际上结束了非常微不足道。

MapView.addView(...)MapView.LayoutParams 允许您做一些非常有用的事情,比如在特定位置放置一个 View map 上的 GeoPoint

更多文档:https://developers.google.com/maps/documentation/android/reference/com/google/android/maps/MapView.LayoutParams.html

这是我做的:

@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.mapview);

MapView map_view = (MapView) findViewById(R.id.map_view);

CustomGlView gl_view = new CustomGlView(this);

// This is where the action happens.
map_view.addView(gl_view, new MapView.LayoutParams(
MapView.LayoutParams.FILL_PARENT,
MapView.LayoutParams.FILL_PARENT,
0,0,
MapView.LayoutParams.TOP_LEFT
)
);
}

此外,还执行上述解决方案所述的操作。我对 GlSurfaceView 进行了子类化,因此我的看起来略有不同:

public CustomGlView(Context context) {
super(context);
YourCustomGlRenderer renderer = new YourCustomGlRenderer();
setEGLConfigChooser(8, 8, 8, 8, 16, 0);
setRenderer(renderer);
getHolder().setFormat(PixelFormat.TRANSLUCENT);

// Have to do this or else
// GlSurfaceView wont be transparent.
setZOrderOnTop(true);
}

关于android - 如何在 Android 中将 GLSurfaceView 覆盖在 MapView 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2825539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com