【问题标题】:Creating an Interactive Map [closed]创建交互式地图[关闭]
【发布时间】:2012-10-22 14:35:41
【问题描述】:

我正处于创建学校交互式地图的研究阶段,其中有一个地图,每个房间都被标记,当用户点击房间时,会给出关于教师、班级信息和会议时间的信息。地图本身必须有限制地放大和缩小并四处移动。

地图的最终外观将类似于中间图片here.

创建地图的方法各不相同:

画布绘图

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

OpenGL

与上述方法相同,但在 OpenGL 中这样做是为了消除部分电池消耗。同样的缺点也适用。

我面临的主要问题是找到和使用最有效的方法以及能够实现缩放和平移功能。

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

【问题讨论】:

    标签: java android opengl-es map android-canvas


    【解决方案1】:

    我没有其他选择建议,但由于我或多或少在我的应用程序中实现了相同的功能,我建议使用 OpenGL(通过JOGL)。在从多个图块渲染单个地图的情况下,您绘制一个图块,glTranslate 到相邻图块所在的位置并绘制下一个图块,等等。

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

    当然,有等效的画布绘制命令,但我一直发现使用 OpenGL 实现此类功能更容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-03
      • 2019-01-18
      • 2014-03-07
      • 2017-11-08
      • 2021-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多