由於工作需要,最近對Android的各大地圖進行了試用。
其中有Google地圖,百度地圖,高德地圖,還有開源的OSM。
在使用Google地圖的時候,官網流程寫的非常清楚,但是其中也遇到一些問題。這里我將我的流程寫出來,方便他人。
注意,本貓用的是ADT,所以,之后的搭建方法,均是Eclipse下的,使用Android studio的朋友,本文不適合你們……
#0,搭建Android環境。
這個。。。如果不會,請在網上搜索,很多詳細的安裝教程。
給大家一個官方的鏈接地址:http://developer.android.com/sdk/index.html
#1,下載和配置Google Play services SDK。
很多人在搭建了Android環境后,並沒有下載和配置Google Play services SDK,因為很多的開發並不需要它的支持。下面我們介紹如何下載和配置。
先給出官方的連接地址:http://developer.android.com/google/play-services/setup.html
首先,打開Eclipse,點擊Android SDK Manager。

之后選擇“Extras”,找到下面的Google Play services和Google Repository,安裝他們。安裝完成后,應該如下圖一樣,Status顯示的為Installed。

至此,我們已經下載完成了。
下面,我們需要將下載的東東導入到Eclipse中,因為它是通過Android的庫引用的,而不是直接使用一個jar包。
導入項目。點擊File-->Import。

選擇“Existing Android Code Into Workspace",點擊next。

找到下載的google play services,並將其導入。其路徑,在你的"SDK Manager.exe"同級目錄的sdk\extras\google\google_play_services\libproject\google-play-services_lib下。
比如,我的是:D:\adt-bundle-windows\sdk\extras\google\google_play_services\libproject\google-play-services_lib。
之后選擇項目,然后請務必勾選"Copy projects into workspace"選項,如果不勾選,則在后面項目引用時,會出現找不到文件等錯誤。最后,點擊finish。

導入后,有可能出現錯誤:Unable to resolve target 'android-9'。這時,打開項目中的”project.properties”,將target=android-9修改為你對應的版本。
如果不知道修改為多少,在Window-->Preferences中,選擇Android,在右邊就可以看到了。

#2,建立測試項目GoogleMaps.
現在,建立一個項目,命名為GoogleMaps,具體如何建立。。。不用說了吧。。。很簡單的。。。
在GoogleMaps上點擊右鍵,選擇Preferences。選擇Android,在右邊的Library中選擇Add,在彈出的對話框中選擇google-play-services_lib,然后點擊OK,再點擊OK。

至此,項目新建並且引用完成。
#3,申請Google Maps API Key.
照舊,先給出官方的教程方法:https://developers.google.com/maps/documentation/android/start#obtain_a_google_maps_api_key
首先,訪問:https://code.google.com/apis/console/?noredirect。在其中選擇Services。
注意,沒有賬號之類的,請自行注冊,這個這里不做講解。成功登陸后,就是下圖的樣子。

找到其中的Google Maps Android API v2項,確保它已經打開。沒有打開請點擊那個OFF滑動按鈕打開它。

之后,點擊"API Access",選擇Create new Android Key。

這里,我們回到Eclipse,在Window-->Preferences中,選擇Android下面的Build,在右邊就可以看到SHA1的值了。如果找不到這個界面,請看#1的最后一步。

下面,我們再回到網頁,在這里輸入剛剛查詢到的"SHA1"碼加上一個分號加上你剛剛創建的項目的包名。
注意,包名后面沒有分號。點擊Create。

這時,等待1到2秒,這時,就會出現Android的API key了。

到這里,申請Key完成。
#4,完善測試項目GoogleMaps.
首先,打開AndroidMainfest.xml文件。在其中添加如下代碼。
1 <uses-sdk 2 android:minSdkVersion="8" 3 android:targetSdkVersion="19" /> 4 5 <uses-feature 6 android:glEsVersion="0x00020000" 7 android:required="true" /> 8 9 <uses-permission android:name="android.permission.INTERNET" /> 10 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 11 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 12 <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 13 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 14 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
在其中的application節點下,添加如下代碼。
1 <meta-data 2 android:name="com.google.android.gms.version" 3 android:value="@integer/google_play_services_version" /> 4 <meta-data 5 android:name="com.google.android.maps.v2.API_KEY" 6 android:value="就是#3申請到的Android API Key" />
打開activity_main.xml文件。將其修改為:
1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:paddingBottom="@dimen/activity_vertical_margin" 6 android:paddingLeft="@dimen/activity_horizontal_margin" 7 android:paddingRight="@dimen/activity_horizontal_margin" 8 android:paddingTop="@dimen/activity_vertical_margin" 9 tools:context=".MainActivity" > 10 11 <fragment 12 android:id="@+id/map" 13 android:name="com.google.android.gms.maps.MapFragment" 14 android:layout_width="match_parent" 15 android:layout_height="match_parent" /> 16 17 </RelativeLayout>
然后,運行就可以了。
到此,在Android上就可以看到地圖出現了。下面是效果圖。

