您好,登錄后才能下訂單哦!
為了實現定位,碰到個問題瞎折騰了快兩個消失= = 特此來記錄下步驟
簡單實現的代碼其實很簡單,官方SDK技術參考網址:http://developer.baidu.com/map/wiki/index.php?title=android-locsdk/guide/v4-2
其實看官網的介紹以及提供的SDK DEMO 已經很清楚了
版本不同,弄起來也會有所不同,本人寫作日期2014-7-18
第一步 到官網下載SDK 并且添加到工程
引子官方例子:
在相關下載最新的庫文件。將liblocSDK4.so文件拷貝到libs/armeabi目錄下。將locSDK4.2.jar文件拷貝到工程的libs目錄下,并在工程屬性->Java Build Path->Libraries中選擇“Add JARs”,選定locSDK4.2.jar,確定后返回。這樣您就可以在程序中使用百度定位SDK了。
第二步 申請開發者KEY
請參考 http://developer.baidu.com/map/wiki/index.php?title=android-locsdk/guide/key
第三步 配置 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 />里面添加 你的 開發KEY
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="你的KEY" />
在<application />里面 添加 service 我就是少了這一步 結果定位都不會回調~ 研究了好久- - 囧
<service
android:name="com.baidu.location.f"
android:enabled="true"
android:process=":remote" >
<intent-filter>
<action android:name="com.baidu.location.service_v2.2" >
</action>
</intent-filter>
</service>
第四步 編寫代碼
4.1 首先要創建一個實例
LocationClient mLocationClient = new LocationClient(this.getApplicationContext());
4.2 實現BDLocationListener接口
mLocationClient.registerLocationListener(this); //this為實現這個接口的實例
4.3 設置參數 有各種各樣的參數可以設置 參考官方例子
LocationClientOption option = new LocationClientOption();
option.setCoorType("gcj02"); // 設置坐標類型
option.setScanSpan(1000);
option.setLocationMode(LocationMode.Hight_Accuracy);
mLocationClient.setLocOption(option);
4.4 調用start 開始定位,之后會不停地回調 BDLocationListener接口里的onReceiveLocation函數,返回一個location信息
mLocationClient.start();
第五步 在回調里面實現你需要的功能
loma 2014/7/18
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。