【发布时间】:2017-01-24 15:18:53
【问题描述】:
我在将 mapView 从 here-api 绘制到 glSurfaceView 时遇到了问题(它应该是 glSurfaceView,因为某些外部设备需要它以确保良好的性能)。
地图完美地绘制到普通的 SurfaceView 中。
我执行以下步骤在 GLSurfaceView 中创建地图视图:
- 从 GLSurfaceView 扩展我的视图:
public class MapView extends GLSurfaceView
- 在 ctor 中初始化时设置渲染器:
setRenderer(...)
- 地图初始化后开始渲染:
Renderer renderer = new MapOffScreenRenderer(getContext()); renderer.setMap(map); //mapView, not null updateRendererSize(); //update the render size to the screen size renderer.start(getHolder(), surfaceUpdatedListener); // HERE COMES THE CRASH
如果我试图告诉他将地图绘制到 glSurfaceView 中,MapOffscreenRenderer 似乎会崩溃。 崩溃是一般错误:“12291 EGL_BAD_ALLOC during rendering”。
如果我尝试调用 renderer.start() 函数(没有 holder 参数),那么一切都很好(唯一不好的是地图没有被绘制)。
GlSurceView 初始化本身很好,因为我可以在其中绘制自己的几何图形。
非常感谢您的帮助。
【问题讨论】:
标签: android opengl-es here-api