Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android上OpenGL曲面视图上不需要的透明SupportMapFragment_Android_Google Maps_Opengl Es - Fatal编程技术网

Android上OpenGL曲面视图上不需要的透明SupportMapFragment

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

我试图使用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关键问题


我在使用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)。虽然性能不太好,但