百度地圖 Android SDK - Hello Baidu Map
如下內容主要向廣大開發人員介紹如何利用百度地圖Android SDK來構建一個最基本的地圖應用!
第一步,建立Android工程,將百度地圖Android SDK的開發包匯入到工程相應位置:
在工程裡建立libs檔案夾,將開發包裡的baidumapapi_vX_X_X.jar拷貝到libs根目錄下,將libBaiduMapSDK_vX_X_X.so拷貝到libs\armeabi目錄下(官網demo裡已有這兩個檔案,如果要整合到自己的工程裡,就需要自己添加),拷貝完成後的工程目錄如所示;
註:liblocSDK3.so和locSDK_3.1.jar為百度定位SDK所使用資源,開發人員可根據實際需求自行添加。
第二步,在所建立的Android工程中添加相應的jar(add jar):<喎?http://www.bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+1Nq5pLPMyvTQ1C0+SmF2YSBCdWlsZCBQYXRoLT5MaWJyYXJpZXPW0NGh1PGhsEFkZCBFeHRlcm5hbCBKQVJzobGjrNGhtqhiYWlkdW1hcGFwaV92WF9YX1guamFyo6zIt7aouvO3tbvYoaM8YnI+CjwvcD4KPHA+zai5/dLUyc/BvbK9stnX97rzo6zE+r7Nv8nS1NX9s6PKudPDsNm2yLXYzbxTREvOqsT6zOG5qbXEyKuyv7mmxNzBy6GjPGJyPgo8L3A+CjxwPtei0uKjutPJ09phZHSy5bz+yf28tqOsyPTE+sq508NFY2xpcHNlIGFkdCAyMrXEu7CjrNDo0qq21L+qt6K7t76zvfjQ0M/g06a1xMno1sOjrLe9t6jI58/Co7o8YnI+CjwvcD4KPHA+MS4g1NpFY2xpcHNlINbQ0aHW0Lmks8yjrNPSvPzRoSBQcm9wZXJ0aWVzLT5KYXZhIEJ1aWxkIFBhdGgtPk9yZGVyIGFuZCBFeHBvcnQgyrkgQW5kcm9pZCBQcml2YXRlIExpYnJhcmllc7Sm09q5tNGh17TMrKO7PGJyPgo8L3A+CjxwPjIuIFByb2plY3QgLT4gY2xlYW4tPiBjbGVhbiBhbGwgLjwvcD4KPHA+tdrI/bK9o6zU2rmks8y1xEFuZHJvaWRNYW5pZmVzdM7EvP7W0MztvNO/qreiw9zUv6O6PC9wPgo8cD66y9DEtPrC68jnz8KjrL+qt6LD3NS/tcS78ciht73Kvcfrss6/vLKpzsSjurDZtsi12M28CiBBbmRyb2lkIFNESyAtIMnqx+u/qreiw9zUvzwvcD4KPHA+PC9wPgo8cHJlIGNsYXNzPQ=="brush:java;">
第四步,在工程的AndroidManifest檔案中添加所需要的許可權:
要求的權限如下,添加在AndroidManifest檔案中:
第五步,在XML布局檔案中添加地圖控制項(MapView):
添加MapView控制項如下:
第六步,在應用建立是初始化SDK:
注意:在SDK各功能組件使用之前都需要調用SDKInitializer.initialize(getApplicationContext());,因此我們建議該方法放在Application的初始化方法中。
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //在使用SDK各組件之前初始化context資訊,傳入ApplicationContext //注意該方法要再setContentView方法之前實現 SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); } }
第七步,建立地圖activity檔案,並管理其生命週期:
public class MainActivity extends Activity { MapView mMapView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //在使用SDK各組件之前初始化context資訊,傳入ApplicationContext //注意該方法要再setContentView方法之前實現 SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); //擷取地圖控制項引用 mMapView = (MapView) findViewById(R.id.bmapView); } @Override protected void onDestroy() { super.onDestroy(); //在activity執行onDestroy時執行mMapView.onDestroy(),實現地圖生命週期管理 mMapView.onDestroy(); } @Override protected void onResume() { super.onResume(); //在activity執行onResume時執行mMapView. onResume (),實現地圖生命週期管理 mMapView.onResume(); } @Override protected void onPause() { super.onPause(); //在activity執行onPause時執行mMapView. onPause (),實現地圖生命週期管理 mMapView.onPause(); } }
第八步,運行APP,顯示基礎地圖: