温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

百度地图SDK之定位

发布时间:2020-07-08 04:30:41 来源:网络 阅读:809 作者:loma 栏目:移动开发

       为了实现定位,碰到个问题瞎折腾了快两个消失= = 特此来记录下步骤

       简单实现的代码其实很简单,官方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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI