2012-10-22 62 views
-1

我創造我校的交互式地圖,其中有一個與標記的每一個房間,當用戶點擊了房間裏的地圖的研究階段,信息給出有關老師,班級信息和會議倍。地圖本身必須放大和縮小,並且移動。創建交互式地圖

地圖的最終外觀將沿着畫中游here.

創建地圖的方法的東西線變化:

畫布繪製

地圖可能使用onDraw()方法創建代表每個房間的矩形。缺點包括正在繪製的矩形數量以及可能的電池消耗。我也不知道如何讓整個地圖移動,所以每個矩形一起移動。實際上,將所有矩形繪製爲一個圖像並移動圖像。

的OpenGL

如上述相同的方法,但在OpenGL這樣做消除了電池消耗的一部分。同樣的缺點適用。

我面對的查找和使用最有效的方法,並能夠實現縮放和平移功能的主要問題。

還有什麼是可能的解決方案?

回答

1

我沒有其他建議,但由於我在應用程序中或多或少實現了相同的功能,我推薦使用OpenGL(通過JOGL)。在這種情況下渲染來自多個瓷磚的一張地圖,你畫一個單一的瓷磚,glTranslate到在相鄰瓷磚是,繪製下一個,等。

滾動地圖是通過在適當的開始繪製你的瓷磚前偏移放置glTranslate來實現。縮放是通過在glTranslate之後以適當的速率放置glScale來實現的。

有,當然,相當於帆布繪製命令,但我總是發現它更容易一點自己實現使用OpenGL這樣的功能。