這樣說吧, App 裡頭要使用 Google Map 的資料,需要 Google 的授權。所以, Google 要求開發者要登記一個 Google Map API 的金鑰。App 還在開發中的時候,先使用 Debug 版的金鑰就可。至於發佈版的金鑰,後面再說吧。
取得金鑰前,先要簽署 Maps API。
Sign Up for the Android Maps API - Android Maps API - Google Code
打勾,填入 MD5 Fingerprint,然後按下 "Generate API Key"。
MD5 Fingerprint 哪裡來??
Android SDK 附有一個名稱為 "debug.keystore" 的檔案。
- Windows Vista / Windows 7:
C:\Users\<user>\.android\debug.keystore
- Windows XP:
C:\Documents and Settings\<user>\.android\debug.keystore
在這個檔案的目錄內,建立一個 bat 檔。內容寫一行
<jdk path>\bin\keytool -list -v -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android >> debug_map_key.txt
<jdk path> 是 Java SDK 的安裝目錄。
執行 bat 檔以後,會將輸出內容寫到 debug_map_key.txt 檔案裡。檔案裡就可以看到這麼一段 :
別名名稱: androiddebugkey
建立日期: 2012/1/18
項目類型: PrivateKeyEntry
憑證鏈長度: 1
憑證 [1]:
擁有者: CN=Android Debug, O=Android, C=US
發出者: CN=Android Debug, O=Android, C=US
序號: 4f162768
有效期自: Wed Jan 18 09:59:04 CST 2012 到: Fri Jan 10 09:59:04 CST 2042
憑證指紋:
MD5: 1F:04:CE:54:D2:57:0D:7C:11:1F:5D:A1:B2:D6:E8:93
SHA1: 4E:D1:A5:3E:68:F2:05:C8:09:9C:29:9C:A9:38:29:4C:3C:3B:A8:1A
SHA256: C9:DA:67:77:3F:4B:94:F5:AE:47:7F:FF:A6:14:9C:B5:96:10:00:7E:99:C8:45:40:A3:64:9F:83:BA:12:56:D1
簽章演算法名稱: SHA1withRSA
版本: 3
那一行 MD5 就是我們要的。
複製貼上到網頁上,按下 "Generate API Key"。
到此,我們就取得金鑰了。
回到 Eclipse IDE 的程式碼。
在 main activity 的 layout xml 檔案裡,把 android:apiKey 那一段,"your key" 改為我們取得的金鑰。
<com.google.android.maps.MapView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:apiKey="0vn4fYcAmXsjC902Q8puaWZLabVkY0t5jqjRzSw"
android:clickable="true" />
再來,因為我們需要透過 Internet 下載地圖資料,所以,要在 AndroidMenifest.xml 裡加入 Internet 的 Permission。
<uses-permission android:name="android.permission.INTERNET"/>
現在 Build 執行看看吧...
看到地圖囉!!!
可是看不到街道、看不到自己的位置...
那是後續的工作...
沒有留言:
張貼留言