1 Android Add-ons是Android中的可選API。Google和Sun相同,把部分高端應用作為可選API供手機生產商定製不同的硬體支援模組。在JME中Sun是以JSR方式公布而Google採用了Add-ons API。
從1.5開始,Google release出的android版本會將Google的一些特色服務分出來,整合到Add-ons中,編譯的庫在add-ons\google_apis-3\libs目錄的map. jar下,我們可以將它們反編譯看到裡面的一些“內幕”。
參考文檔見SDK中的add-ons\google_apis-4\docs\reference\index.html
2 使用Add-ons我們到底能實現那些功能?
1.MapActivity—管理Activity的生命週期,為mapview建立及取消對map service的串連。 MapActivity是一個抽象類別,任何想要顯示MapView的activity都需要派生自MapActivity。並且在其衍生類別的onCreate()中,都要建立一個MapView執行個體,可以通過layout XML來建立。
2.MapView—控制MapView中的view組件,管理Overlay,提供View的準系統。
使用多種地圖模式(地圖模式(某些城市可即時對交通狀況進行更新),衛星模式,街景模式)來查看Google Map
3.MapControl 地圖移動,伸縮,以某個GPS座標為中心。
常用方法:animateTo(GeoPoint point) setCenter(GeoPoint point) setZoom(int zoomLevel) 等。
4.Overlay—覆蓋到MapView的最上層,可以擴充其ondraw介面,自訂在MapView中顯示一些自己的東西。MapView通過MapView.getOverlays()對Overlay進行管理。
除了Overlay這個基類,Google還擴充了2個比較有用的Overlay
1)MylocationOverlay—整合了Android.location中接收當前座標的介面,整合SersorManager中CompassSensor的介面
我們只需要enableMyLocation(),enableCompass就可以讓我們的程式擁有即時的MyLocation以及Compass 功能。
2)ItemlizedOverlay—管理一個OverlayItem鏈表,用圖片等資源在地圖上作風格相同的標記。
5.Projection—MapView中GPS座標與裝置座標的轉換(GeoPoint和Point)