2012-10-22 180 views
-1

我创造我校的交互式地图,其中有一个与标记的每一个房间,当用户点击了房间里的地图的研究阶段,信息给出有关老师,班级信息和会议倍。地图本身必须放大和缩小,并且移动。创建交互式地图

地图的最终外观将沿着画中游here.

创建地图的方法的东西线变化:

画布绘制

地图可能使用onDraw()方法创建代表每个房间的矩形。缺点包括正在绘制的矩形数量以及可能的电池消耗。我也不知道如何让整个地图移动,所以每个矩形一起移动。实际上,将所有矩形绘制为一个图像并移动图像。

的OpenGL

如上述相同的方法,但在OpenGL这样做消除了电池消耗的一部分。同样的缺点适用。

我面对的查找和使用最有效的方法,并能够实现缩放和平移功能的主要问题。

还有什么是可能的解决方案?

回答

1

我没有其他建议,但由于我在应用程序中或多或少实现了相同的功能,我推荐使用OpenGL(通过JOGL)。在这种情况下渲染来自多个瓷砖的一张地图,你画一个单一的瓷砖,glTranslate到在相邻瓷砖是,绘制下一个,等。

滚动地图是通过在适当的开始绘制你的瓷砖前偏移放置glTranslate来实现。缩放是通过在glTranslate之后以适当的速率放置glScale来实现的。

有,当然,相当于帆布绘制命令,但我总是发现它更容易一点自己实现使用OpenGL这样的功能。