为了实现定位,碰到个问题瞎折腾了快两个消失= = 特此来记录下步骤
简单实现的代码其实很简单,官方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
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:百度地图SDK之定位-创新互联
文章出自:https://www.cdcxhl.com/article12/ceehgc.html
成都网站建设公司_创新互联,为您提供响应式网站、网站内链、商城网站、软件开发、用户体验、企业建站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联