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