要想編寫Google Map的應(yīng)用首先需要 Google APIs 。借助Google APIs,用戶可以在地圖上顯示當(dāng)前的地理位置。在Android中定義了一個名為com.google.android.maps的包,其中包含了一系列用于在GoogleMap上顯示、控制和層疊信息的功能類。以下是該包中重要的幾個類。
□ MapActivity:用于顯示Map的Activity類,它需要連接底層網(wǎng)絡(luò)。
□ MapView:用于顯示地圖的View組件,必須和MapActivity配合使用。
□ MapController:用于控制地圖的移動。
□ Overlay:可顯示于地圖之上的可繪制的對象。
□ GeoPoint:包含經(jīng)緯度位置的對象。
因此,首先需要在項(xiàng)目中導(dǎo)入Google Map API。默認(rèn)情況是Android某個版本比如Android 2.3,現(xiàn)在需要改為對應(yīng)版本的Google APIs,版本要和Android版本一致。在默認(rèn)的情況下Google API是沒有的。這個Google APIs是同版本的Android超集,包含了Google的私有應(yīng)用API,如圖1所示。

圖1 導(dǎo)入Google Map API
這樣就可以在項(xiàng)目中使用,如代碼清單1所示。
代碼清單1 引入Google Map API
import com.google.android.maps.MapActivity;
9.2.1 申請地圖密鑰
在導(dǎo)入Google Map API之后,我們需要向Google申請一組經(jīng)過驗(yàn)證的“地圖密鑰”(Map API Key),“地圖密鑰”是訪問Google地圖數(shù)據(jù)的密鑰,無論是模擬器還是在真實(shí)設(shè)備中需要使用這個密鑰。然后使用MapView(com.google.android.maps.MapView)就可以將Google地圖嵌入Android應(yīng)用程序中,才能正常使用Google的地圖服務(wù)。
要得到Google網(wǎng)站的簽署取得“地圖密鑰”授權(quán),首先要申請一個Google賬號,也就是Gmail電子郵箱,申請地址是https://www.google.com/accounts/Login。然后,找到保存Debug證書的keystore的保存位置,并獲取證書的MD5散列值。這里的keystore是一個密碼保護(hù)的文件,用來存儲Android提供的用于調(diào)試的證書,獲取MD5散列值的主要目的是為下一步申請“地圖密鑰”做準(zhǔn)備。
獲取證書的保存地址:首先打開Eclipse,通過Window → Preferences命令打開配置窗體,在Android → Build選項(xiàng)中的Default debug keystore中可以找到,如圖2所示。

圖2 獲取證書的保存地址
為了獲取Debug證書MD5的散列值,需要打開命令行工具CMD,然后切換到keystore的目錄,輸入代碼清單9-9所示命令。
代碼清單9-9 獲取Debug證書MD5散列值
keytool –list –keystore debug.keystore
如果提示無法找到keytool,可以將<Java SDK>/bin的路徑添加到系統(tǒng)的PATH變量中。
在提示輸入keystore密碼時,輸入默認(rèn)密碼android,MD5散列值將顯示在下方。筆者的MD5散列值為68:76:89:C8:A4:24:61:F9:EA:F3:F7:70:CC:FD:C8:15,如圖3所示。

圖3 獲取Debug證書MD5散列值
申請“地圖密鑰”的后一步是打開申請頁面,輸入MD5散列值。申請頁面的地址是//code.google.com/intl/zh-CN/android/add-ons/google-apis/maps-api-signup.html,如圖4所示。

圖4 申請頁面
在圖4所示界面中,輸入MD5散列值后,單擊“Generate API Key”按鈕,將提示用戶輸入Google賬戶,正確輸入Google賬戶后,將產(chǎn)生申請“地圖密鑰”的獲取結(jié)果,如圖5所示。

圖5 地圖密鑰的獲取結(jié)果