百度地圖基礎開發,百度地圖開發
因為項目的需要,最近接觸了一下百度地圖Android開發,遇到很多問題,相信很多博友也遇到到過這些問題,現在把我的實踐經驗給大家分享一下。
開發百度地圖,第一步:你需要首先登入百度地圖開放平台,註冊一個開發人員身份,通過這個身份你可以查看到百度最新的開發文檔,為我們的開發提供便利。有了開發人員身份後,你就可以開始為開發百度地圖做準備了。
開啟Android開發工具,建立一個開發項目。然後利用你在百度註冊的開發人員身份申請密鑰,申請密鑰的方法百度文檔說的很清楚,給了兩鐘申請方法,建議使用後一種。有了密鑰下面就是開發需要使用的Jar包了,在百度開發人員平台下載自己需要的即可。
有了上面的準備工作,接下來我們就可以開始開發了,開啟Android開發工具,開啟剛剛建立好的工程,把剛剛下載好的Jar包匯入到工程中,需要注意的是Jar包匯入時還需要添加一個:armeabi檔案夾裡面有兩個libBaiduMapSDK_v3_0_0.so和liblocSDK4d.so也要一併匯入。匯入選擇項目按右鍵,選擇properties>Java Build Path>Libraries,點擊右側Add External JARS...,把工程Libs下的Jar檔案選中,最後不要忘記把Oreder and Exporxt下的Jar包選上,點擊Ok至此環境配置就完成了。
下面就是代碼了,首先AndroidManifest.xml檔案:
擷取許可權:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" > </uses-permission> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" > </uses-permission> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" > </uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" > </uses-permission> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" > </uses-permission> <uses-permission android:name="android.permission.READ_PHONE_STATE" > </uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" > </uses-permission> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" > </uses-permission> <uses-permission android:name="android.permission.READ_LOGS" > </uses-permission> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" />
設定密鑰
//添加在application裡面
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="密鑰號碼" /> <service android:name="com.example.baidumap_01" android:enabled="true" android:process=":remote" > <intent-filter> <action android:name="com.baidu.location.service_v2.2" > </action> </intent-filter> </service>
布局檔案activity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="${relativePackage}.${activityClass}" > <com.baidu.mapapi.map.MapView android:id="@+id/id_bmapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" /></RelativeLayout>
主檔案MainActivity.java檔案:
package com.example.baidumap_01;import com.baidu.mapapi.SDKInitializer;import com.baidu.mapapi.map.BaiduMap;import com.baidu.mapapi.map.MapView;import android.app.Activity;import android.os.Bundle;import android.view.Window;public class MainActivity extends Activity { private MapView mMapView = null; private BaiduMap mBaiduMap = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); //在使用SDK各組件之前初始化context資訊,傳入ApplicationContext //注意該方法要再setContentView方法之前實現 SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); //擷取地圖控制項引用 mMapView = (MapView) findViewById(R.id.id_bmapView); mBaiduMap = mMapView.getMap(); //普通地圖 //mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL); //衛星地圖 mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE); } @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(); } }
運行後的效果:
以上就是百度地圖V3.0的開發介紹,有興趣的可以留言交流。