gpt4 book ai didi

android - Android 上 OpenGL 表面 View 上不需要的透明 SupportMapFragment

转载 作者:行者123 更新时间:2023-11-30 03:52:11 25 4
gpt4 key购买 nike

我正在尝试通过 SupportMapFragment 使用适用于 Android 的 Google Maps API V2,当我在使用 opengl 和相机的表面 View 上添加 map 时遇到问题。

问题是我将 fragment 动态地添加到 surfaceview 的顶部,我得到的只是缩放控件,而是一张透明 map 。

是否与已经使用 opengl 的应用程序不兼容?

我应该在加载 map 之前销毁 opengl 上下文吗?

会不会是其他问题,比如错误的 API key 、权限等?

我能做些什么来让它与其他 opengl 表面一起工作吗?

更新:我设法在独立 Activity (ProgramaticDemoActivity.java) 上显示 map ,因此这不是 API key 问题(尽管我必须创建一个新的 API 控制台项目)。

然后我在我的表面 View 上再次尝试,我可以看到 map ,但并非总是如此。我通常在调用 mMapFragment.getMap() 时得到 null。即使在我将 fragment 添加到布局(以编程方式)之后,也可能调用 onCreateView 的速度不够快。有什么想法吗?

最佳答案

从 Map API V2 开始,它使用 GL 表面。较旧的 API 可能会遵循某些 z 顺序,因为它使用简单的 2D Canvas 来绘制 map 。

截至目前,android 无法按特定顺序处理重叠的 EGL 表面。作为一种特殊的 View ,它在某种意义上穿透其余部分以直接访问该矩形内存框架,这些不会遵守布局中提到的 z 顺序。

即使在同一台设备上进行不同的运行,也或多或少需要掷硬币来决定哪个是最上面的。

查看 Dianne 的回复: https://groups.google.com/forum/?fromgroups=#!topic/android-developers/COffLpanlz0

但一定要探索 setZOrderMediaOverlay()和 setZOrderOnTop() 为您的 GL Surface。你可能会有些运气。

解决方法:

  • 可以尝试 Map API V1,它可能会在您的应用出名时看到它的插件被拔掉
  • 对于具有严格免费配额(付费更多)的静态 map 位图,可以改为使用 Web API

或随时加星issues (eg. #6613)并等待。

关于android - Android 上 OpenGL 表面 View 上不需要的透明 SupportMapFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13968064/

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