百度地圖SDK之定位

       爲了實現定位,碰到個問題瞎折騰了快兩個消失= = 特此來記錄下步驟

       簡單實現的代碼其實很簡單,官方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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章