也許你可能不知道,智能手機上面裝載數(shù)量第一的軟件是Google Map,人們的生活已經(jīng)離不開Google了。但是要吐槽的是新版的Google Map也進行了扁平化設(shè)計,這一點我個人比較提倡,但是用戶體驗不如以前,果斷裝上百度地圖。值得注意的是Google Map在大陸的數(shù)據(jù)庫用的是高德地圖的數(shù)據(jù)庫,這里面有什么原因,自己想去吧!
我用過百度,Google Map和高德地圖,感覺還是Google Map好用準確一些,雖然它在國內(nèi)很受壓迫,但是如果要是選擇開發(fā),我還是選擇Google Map。好了,話不多講,今天就說一說Google Map V2在Android上面環(huán)境搭建過程,F(xiàn)在好多資料都是針對V1版本進行講解,但是V2版本和V1版本真是大相徑庭。
開始講解之前,先說一下準備材料。第一,完整的SDK一只。第二,能夠上網(wǎng)。第三,兩個小軟件(apk形式)vending.apk和gms.apk下面是這連個小軟件的截圖。
開始說搭建環(huán)境,第一步:申請gmail郵箱賬號,如果有請?zhí)^此步驟。方法很簡單,百度上面google一下gmail,點擊進入,場面是下面這個樣子的。
起個什么樣子的用戶名是你自己的事情,第一步到此結(jié)束。
第二步:拿到你機子的SHA1指紋,這里不說在cmd中敲命令獲取,教你一個簡單方式。在eclipse中,window>>preferences>>android>>build,里面就有了。下面還是一張截圖。
第三步:開始申請key值,網(wǎng)址是https://code.google.com/apis/console/,必須用你剛才那個gmail賬號登錄,然后會是這個樣子。
箭頭中的1指代第一步操作,在這里面有好多服務(wù),關(guān)鍵是找到android那一個,下面是截圖。
記住,打上勾勾,然后選中箭頭指示的2,會出現(xiàn)下面的情形。
選中劃框框的那一項,然后會有一個彈框,輸入SHA1;包名的形式,上面有提示,很簡單的,然后點擊創(chuàng)建就OK了。我創(chuàng)建成功了,請看下面截圖。
拿到key之后基本就解決了一半問題。
第四步:順便插一句,剛才沒有說創(chuàng)建工程的問題,其實創(chuàng)建工程和普通工程一樣,只是用到包名而已。好了,接著往下面說。剛才為什么說需要一直完成的SDK呢,因為下面需要用到。SDK中提供了需要的JAR,這一步我們要導(dǎo)入。導(dǎo)入方式和以往有些不同,是這樣的File-Import,選中Android節(jié)點下的Existing Android Code Into Workspace,下面有截圖。
找到一個神秘的東西,路徑是
然后引用它,方法是右鍵你的工程然后選擇最后一項然后就是下面的截圖。
點擊add按鈕進行選擇,選擇時候效果是這樣。OK,大體就是這樣。
第五步:創(chuàng)建模擬器,安裝上面的兩個軟件。不要和V1版本創(chuàng)建的方式一樣,原來你怎么創(chuàng)建,現(xiàn)在還怎么創(chuàng)建就可以,不要選擇APIs那個東西。創(chuàng)建完成后啟動模擬器,然后安裝開始說的那連個軟件,用CMD命令安裝即可。此處就不給圖了,默認你可以完成。
第六步:配置文件,完成地圖。首先配置manifest文件,這樣配置:
2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="com.map"
4 android:versionCode="1"
5 android:versionName="1.0" >
6
7 <uses-sdk
8 android:minSdkVersion="8"
9 android:targetSdkVersion="17" />
10
11 <permission
12 android:name="com.map.permission.MAPS_RECEIVE"
13 android:protectionLevel="signature" />
14
15
16
17
18
19
20
21
22 <uses-feature
23 android:glEsVersion="0x00020000"
24 android:required="true" />
25
26 <application
27 android:allowBackup="true"
28 android:icon="@drawable/ic_launcher"
29 android:label="@string/app_name"
30 android:theme="@style/AppTheme" >
31 <meta-data
32 android:name="com.google.android.maps.v2.API_KEY"
33 android:value="AIzaSyAhnUn5q4BG56btFWsFGtVPY9snA6YXdHk" />
34
35 <activity
36 android:name="com.map.MainActivity"
37 android:label="@string/app_name" >
38
39
40
41
42
43
44
45
46
當(dāng)然,key值要換一下哦。然后是mainactivity.xml。這里需要注意的是API的不同,配置不同。引用網(wǎng)上其他人的說法,下面是代碼。
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:layout_width="match_parent"
14 android:layout_height="match_parent"
15 class="com.google.android.gms.maps.MapFragment" />
16
17
注意:如果你的Android SDK為3.1(API 12)之前版本,如Android 2.3.3,則需要將MapFragment修改為SupportMapFragment,因為MapFragment只在API 12及之后的版本才有,所以對于之前的版本需要使用Support Library來進行輔助。
MainActivity.java中,如果你的Android SDK為3.1(API 12)之前版本,如Android 2.3.3,則需要進行以下編碼,否則請?zhí)^該步驟。
package xxx.xxx.mylbs;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
public class MainActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
由于API 12之前的SDK必須借助FragmentActivity對Fragment進行管理,因此,使用了Fragment標簽的活動須繼承自FragmentActivity,該Activity由android.support.v4.app包定義。
現(xiàn)在基本就搞定了,啟動模擬器,然后驚喜就出現(xiàn)了,看截圖。
當(dāng)然了,在做的時候會遇到各種麻煩,需要你自己去解決,我的方法也是通過自己不斷找資料和不斷發(fā)現(xiàn)才總結(jié)出來的,希望對你有幫助。
感謝支持!