Android上OpenGL曲面视图上不需要的透明SupportMapFragment
我试图使用SupportMapFragment使用Android的Google Maps API V2,当我将地图添加到使用opengl和摄像头的曲面视图上时,遇到了一个问题 问题是,我在surfaceview的顶部添加了片段,我得到的只是缩放控件,而是一个透明的贴图 是否存在与已经使用opengl的应用程序不兼容的情况 我应该在加载地图之前销毁opengl上下文吗 是否可能是其他问题,如错误的API密钥、权限等 有什么我可以做的,使它与其他opengl曲面工作 更新:我设法在一个独立的活动(ProgramaticDemoActivity.java)上显示地图,因此这不是API关键问题(尽管我必须创建一个新的API控制台项目) 然后我再次尝试我的表面视图,我可以看到地图,但并不总是这样。调用mMapFragment.getMap()时,我通常会得到null。即使在我(以编程方式)将片段添加到布局之后,onCreateView的调用速度也可能不够快。有什么想法吗?你说的“透明地图”是什么意思?您看到地图平铺是“透明”的还是什么都看不到(只有缩放控件而没有平铺) 您是否尝试过在没有OpenGL图层的情况下使用SupportMapFragment?只是为了避免API关键问题 我在使用谷歌地图活动时遇到了同样的问题,我解决了这个问题,并进行了一次又一次的测试,但我认为问题与地图API键有关。你说的“透明地图”是什么意思?您看到地图平铺是“透明”的还是什么都看不到(只有缩放控件而没有平铺) 您是否尝试过在没有OpenGL图层的情况下使用SupportMapFragment?只是为了避免API关键问题Android上OpenGL曲面视图上不需要的透明SupportMapFragment,android,google-maps,opengl-es,Android,Google Maps,Opengl Es,我试图使用SupportMapFragment使用Android的Google Maps API V2,当我将地图添加到使用opengl和摄像头的曲面视图上时,遇到了一个问题 问题是,我在surfaceview的顶部添加了片段,我得到的只是缩放控件,而是一个透明的贴图 是否存在与已经使用opengl的应用程序不兼容的情况 我应该在加载地图之前销毁opengl上下文吗 是否可能是其他问题,如错误的API密钥、权限等 有什么我可以做的,使它与其他opengl曲面工作 更新:我设法在一个独立的活动(P
我在使用Google Maps Activities时遇到了同样的问题,我通过反复测试解决了这个问题,但我认为这个问题与Maps API键有关。添加MapFragment后无法直接获取Map(),必须等到它准备好。建议您创建一个MyCustomisedMapFragment,并让它在onResume方法中执行一些操作,告诉您的其他代码它已准备好让您使用getMap()。添加MapFragment后,您不能直接使用getMap()。您必须等待它准备好。建议您创建一个MyCustomisedMapFragment,并让它在onResume方法中执行一些操作,告诉您的其他代码它已准备好让您获取Map()。自Map API V2以来,它使用GL surface。较旧的API可能会考虑一些z顺序,因为它使用简单的2D画布绘制地图 到目前为止,android无法按特定顺序处理重叠的EGL曲面。 作为一种特殊的视图,从某种意义上说,它可以穿透其余部分,直接访问内存的矩形框架,这些视图不符合布局中提到的z顺序 即使在同一台设备上进行不同的跑步,哪一个跑在最前面,也或多或少是一个抛硬币的过程 见Dianne在中的回复: 但一定要为GL曲面探索并设置zorderontop()。你可能会有一些运气 解决办法:
- 你可以试试Map API V1,当你的应用程序出名时,它的插件可能会被拔掉
- 可以将web API用于具有严格免费配额的静态地图位图(支付更多)
或者,你可以自由地开始并等待 自Map API V2以来,它使用GL曲面。较旧的API可能会考虑一些z顺序,因为它使用简单的2D画布绘制地图 到目前为止,android无法按特定顺序处理重叠的EGL曲面。 作为一种特殊的视图,从某种意义上说,它可以穿透其余部分,直接访问内存的矩形框架,这些视图不符合布局中提到的z顺序 即使在同一台设备上进行不同的跑步,哪一个跑在最前面,也或多或少是一个抛硬币的过程 见Dianne在中的回复: 但一定要为GL曲面探索并设置zorderontop()。你可能会有一些运气 解决办法:
- 你可以试试Map API V1,当你的应用程序出名时,它的插件可能会被拔掉
- 可以将web API用于具有严格免费配额的静态地图位图(支付更多)
或者,你可以自由地开始并等待 我在地图片段后面有一个摄像头预览,我可以通过它看到它。我知道它在那里,因为我可以看到缩放控制,但根本没有地图。不是API键,因为我设法显示了它(我在控制台中创建了一个新的API项目),但是当我调用mMapFragment.getMap()时,它是空的,不总是空的,即使我先添加片段,看起来onCreateView还没有被调用。我在贴图片段后面有一个摄像头预览,我可以通过它看到它。我知道它在那里,因为我可以看到缩放控制,但根本没有地图。不是API键,因为我成功地显示了它(我在控制台中创建了一个新的API项目),但是当我调用mMapFragment.getMap()时,它是空的,不总是空的,即使我首先添加了片段,看起来onCreateView尚未调用。我已成功显示地图,但我的问题是无法通过添加/删除或显示/隐藏片段在地图和曲面视图之间进行更改。显示地图已解决,问题是,当设置在一个使用openglI的surfaceview上面时,它是透明的。去年12月,Android开发者在办公时间展示了新的MapsAPI v2,它曾询问过这个问题。答案是:没有。另外,因为谷歌地图的帧缓冲区似乎不可能访问(据说也是在那个办公时间),所以你不能做任何欺骗,比如将缓冲区刮到别处显示:(如果你找到了解决这些问题的方法,请一定要让我们都知道!顺便说一句,我上面说的内容可能会帮助你让覆盖的surfaceView的内容真正覆盖:刮除它的帧缓冲区,并将其添加为GoogleMap视图的顶部的位图(ImageView)。虽然性能不太好,但