Google地圖

Google API使用--Android的第一個項目--Google地圖

開發歷程

一.熟悉Google API

1MapController

 

控制地圖移動,伸縮,以某個GPS座標爲中心,控制MapView中的view組件,管理Overlay,提供View的基本功能。使用多種地圖模式(地圖模式(某些城市可實時對交通狀況進行更新),衛星模式,街景模式)來查看Google Map

 

常用方法:animateTo(GeoPoint point)  setCenter(GeoPoint point)  setZoom(int zoomLevel) 等。

 

2MapView

 

Mapview是用來顯示地圖的view, 它派生自android.view.ViewGroup。當MapView獲得焦點,可以控制地圖的移動和縮放。

 

地圖可以以不同的形式來顯示出來,如街景模式,衛星模式等,通過setSatellite(boolean)  setTraffic(boolean), setStreetView(boolean) 方法。

 

MapView只能被MapActivity來創建,這是因爲mapview需要通過後臺的線程來連接網絡或者文件系統,而這些線程要由mapActivity來管理。

 

需要特別說明的一點是,android 1.5中,mapzoom採用了built-in機制,可以通過setBuiltInZoomControls(boolean)來設置是否在地圖上顯示zoom控件。

 

常用方法:getController()  getOverlays()  setSatellite(boolean)  setTraffic(boolean),   setStreetView(boolean)  setBuiltInZoomControls(boolean)等。

 

3MapActivity

 

管理Activity的生命週期,爲mapview建立及取消對map service的連接。

 

MapActivity是一個抽象類,任何想要顯示MapViewactivity都需要派生自MapActivity。並且在其派生類的onCreate()中,都要創建一個MapView實例,可以通過MapViewconstructor (然後添加到ViewViewGroup.addView(View)) 或者通過layout XML來創建。

 

4Overlay

 

Overlay是覆蓋到MapView的最上層,可以擴展其ondraw接口,自定義在MapView中顯示一些自己的東西。MapView通過MapView.getOverlays()Overlay進行管理。

 

除了Overlay這個基類,Google還擴展了2個比較有用的Overlay

 

 1)MylocationOverlay—集成了Android.location中接收當前座標的接口,集成SersorManagerCompassSensor的接口

我們只需要enableMyLocation(),enableCompass就可以讓我們的程序擁有實時的MyLocation以及Compass 功能(Activity.onResume()中)。

 

 2ItemlizedOverlay—管理一個OverlayItem鏈表,用圖片等資源在地圖上作風格相同的標記。

 

5ProjectionMapViewGPS座標與設備座標的轉換(GeoPointPoint)。

 

1.Google API的申請

(1)MD5認證(指紋認證):

找到androidSDKdebug.keystore;在運行輸入框中輸入cmd進入Dos環境進行MD5認證:進入debug.keystore的絕對路徑輸入keytool -list  -keystore debug.keystore -v

(2)官網申請API 

網站

Keyhttps://developers.google.com/maps/documentation/android/start#obtaining_an_api_key

29:14:33:1F:50:2B:1F:4D:83:D7:C6:16:F8:E7:7D:74

Key: AIzaSyBh94IBrF6TMNGyZ3wuynXKDofa3R3s6hg

2.新建一個工程,

注意用Complie With選擇GoogleAPI不然不能正確引入com.google.android.maps

3.添加權限和引入工程外的包:在Manifest中的Pemission添加網絡權限和粗略定位權限,Application添加引入外包

4.讓主Activity繼承自MapActivity因爲只有MapActivity才能顯示MapView

 

 

發佈了30 篇原創文章 · 獲贊 1 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章