2011-10-26 87 views
4

我正在開發Android的室內定位系統。我需要繪製一棟建築的定製平面圖並在其上覆蓋一個指針。Android自定義地圖

在這種情況下,我應該使用哪種軟件/ API來繪製自定義平面圖?

在此先感謝。

回答

3

我最近做了一個庫佈局規劃東西我主人的一部分我選擇了一個簡單的自定義Drawable,剛剛縮放了一個Bitmap(平面圖)以適應屏幕,然後在它上面繪製了一些半透明的矩形(書架)。我的佈局有一個通用的Viewfill_parent兩個方向,定製Drawable via setBackgroundDrawable() in Activity.onCreate()

如果你有高分辨率的地圖(超過適合應用程序內存的一塊),想要縮放甚至旋轉,這將是很多工作。我嘗試使用Reno在他的回答中提到的Google IO應用程序代碼,自定義的Google Maps覆蓋圖(無法放大),離線WebView(用於「免費」縮放功能),甚至考慮基於自定義圖塊渲染系統 - 最終使用一個簡單的Bitmap是最簡單的,並且在我的用例中工作得非常出色。

我會在做縮放,旋轉,基於平鋪的渲染解決方案非常感興趣,雖然:)

+0

非常感謝。這很有幫助。您使用哪種工具繪製位圖(平面圖)? – alvin8866

+2

這是一個單一圖書館的原型,所以我只是用手機拍了一張消防疏散計劃的照片,並用圖形程序(Gimp)清理了它。對於實際完成的應用程序,我可能會將圖片追蹤到矢量圖形(使用Inkscape),然後導出到PNG(比Android上的SVG支持更少麻煩) –

+1

'我對可縮放的解決方案非常感興趣,旋轉,基於平鋪的渲染,雖然:)' - 你見過https://github.com/moagrius/TileView?我從來沒有嘗試過,但我可能必須和我很好奇。 –

2

Google did this for their Google I/O event。太糟糕了,他們使用的JavaScript :(我也不擅長。

他們裝載的map.js在MapFragment,其中包含一個WebView

+0

謝謝您的答覆。首先,我需要找到一種繪製自定義平面圖(地圖平鋪)的方法。過去幾天我一直在做這方面的研究。我很沮喪。 – alvin8866

1

的MapView組件提供添加任何類型的自定義元素地圖的非常靈活的方法稱爲MapOverlays。您可以實現ItemizedOverlay並向其添加項目,併爲此疊加層上的疊加項目定義Drawables。在MapView中註冊疊加層後,視圖會處理何時繪製項目以及屏幕上的何處。

欲瞭解更多詳情和教程,請參閱http://developer.android.com/resources/tutorials/views/hello-mapview.html