百度地圖 Android SDK,androidsdk
如下內容主要向廣大開發人員介紹如何利用百度地圖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):
在工程屬性->Java Build Path->Libraries中選擇“Add External JARs”,選定baidumapapi_vX_X_X.jar,確定後返回。
通過以上兩步操作後,您就可以正常使用百度地圖SDK為您提供的全部功能了。
注意:由於adt外掛程式升級,若您使用Eclipse adt 22的話,需要對開發環境進行相應的設定,方法如下:
1. 在Eclipse 中選中工程,右鍵選 Properties->Java Build Path->Order and Export 使 Android Private Libraries處於勾選狀態;
2. Project -> clean-> clean all .
第三步,在工程的AndroidManifest檔案中添加開發密鑰:
核心代碼如下,開發密鑰的擷取方式請參考博文:百度地圖 Android SDK - 申請開發密鑰
<application> <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="開發人員 key" /> </application>
第四步,在工程的AndroidManifest檔案中添加所需要的許可權:
要求的權限如下,添加在AndroidManifest檔案中:
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.USE_CREDENTIALS" /> <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.BROADCAST_STICKY" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
第五步,在XML布局檔案中添加地圖控制項(MapView):
添加MapView控制項如下:
<com.baidu.mapapi.map.MapView android:id="@+id/bmapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" />
第六步,在應用建立是初始化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,顯示基礎地圖:
android使用百度地圖sdk在機器上沒顯示地圖
運行不報錯.卻只顯示方格..是key的問題吧..
或者你下載百度上提供的demo,運行看看.
百度地圖的android SDK的DEMO是不是又點問題,定位在模擬器上都定位不了
模擬器定位需要自己輸入經緯度才能定到的~模擬器有沒有gps模組~