《2022年百度地图Android定位SDK .pdf》由会员分享,可在线阅读,更多相关《2022年百度地图Android定位SDK .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、百度地图 Android 定位 SDK 作者:黄丽敏时间:2013-07-27 百度地图 Android 定位 SDK为基于移动客户端开发LBS应用提供基础定位能力,它较百度 Android 地图 SDK 而言,专注满足用户获取当前位置与获得地址信息描述功能,软件包体积小。功能更多,接口更友好。百度 Android 定位 SDK支持 Android1.5 以及以上设备,提供:定位功能:通过 GPS、网络定位(WIFI、基站)混合定位模式,返回当前所处的位置信息反地理编码功能:解析当前所处的位置坐标,获得详细的地址描述信息。定位 SDK支持多样化服务与定位策略,用户可通过设置不同的定位时间间隔、
2、选择不同的定位服务模式、定制不同的定位结果信息来满足自身需求。定位原理使用百度 Android 定位 SDK必须注册 GPS和网络使用权限。定位SDK采用 GPS、基站、Wi-Fi 信号进行定位。当应用程序向定位SDK发起定位请求时,定位SDK会根据应用的定位因素(GPS、基站、Wi-Fi 信号)的实际情况(如是否开启 GPS、是否连接网络、是否有信号等)来生成相应定位依据进行定位。用户可以设置满足自身需求的定位依据:若用户设置 GPS 优先,则优先使用 GPS 进行定位,如果 GPS定位未打开或者没有可用位置信息,且网络连接正常,定位SDK则会返回网络定位(即Wi-Fi 与基站)的最优结果。
3、为了使获得的网络定位结果更加精确,请打开手机的Wi-Fi 开关。定位精度名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 5 页 -使用步骤:导入库文件在下载最新的库文件。将liblocSDK3.so文件拷贝到libs/armeabi目录下。将locSDK3.3.jar文 件 拷 贝 到 工 程 的libs目 录 下,并 在 工 程 属 性-Java Build Path-Libraries中选择“Add JARs”,选定 locSDK3.3.jar,确定后返回。设置 AndroidManifest.xml 在 application标签中声明 service组件,为了避免各个 a
4、pp公用1个 service出现的权限问题,新版本各个app 单独拥有自己的定位service.声明使用权限 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 5 页 -具体操作1.初始化 LocationClient类LocationClient类必须在主线程中声明。public LocationClient mLocationClient=null;public BDLocationListener myListener=new MyLocationListener();public void onCreate()/声明LocationClient类mLocationClien
5、t=newLocationClient(getApplicationContext();/注册监听函数mLocationClient.registerLocationListener(myListener);2.实现 BDLocationListener接口BDLocationListener接口有 2个方法需要实现:1.接收异步返回的定位结果,参数是 BDLocation 类型参数。2.接收异步返回的 POI 查询结果,参数是BDLocation 类型参数。Public class MyLocationListener implements BDLocationListener Overri
6、de Public void onReceiveLocation(BDLocation location)public void onReceivePoi(BDLocation poiLocation)3.设置参数设置定位参数包括:定位模式(单次定位,定时定位),返回坐标类型,是否打开GPS名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 5 页 -等等。例如LocationClientOption option=new LocationClientOption();option.setOpenGps(true);option.setAddrType(all);/返回的定位结果包含
7、地址信息option.setCoorType(bd09ll);/返回的定位结果是百度经纬度,默认值gcj02option.setScanSpan(5000);/设置发起定位请求的间隔时间为5000msoption.disableCache(true);/禁止启用缓存定位。4.发起定位请求发起定位请求。请求过程是异步的,定位结果在上面的监听函数onReceiveLocation中获取。if(mLocClient!=null&mLocClient.isStarted()mLocClient.requestLocation();else Log.d(LocSDK3,locClient is null
8、 or not started);5.发起 POI查询请求if(mLocClient!=null&mLocClient.isStarted()mLocClient.requestPoi();需要注意的问题定位 SDK必须注册 GPS 和网络的使用权限。使用定位 SDK请保证网络连接通畅(GPS 定位方式不需要连网)。我们强烈建议您设置自己的prodName,并保管好,这样方便我们为您提供更好的定位服务。若需要返回的定位结果里包含地址信息,请保证网络连接。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 5 页 -定位 SDK可以返回 bd09、bd09ll、gcj02 三种类型坐标,若需要将定位点的位置通过百度 Android 地图 SDK进行地图展示,请返回 bd09ll,将无偏差的叠加在百度地图上。有的移动设备锁屏后为了省电会自动关闭网络连接,此时网络定位模式的定位失效。此外,锁屏后移动设备若进入cpu 休眠,定时定位功能也失效。若您需要实现在 cpu 休眠状态仍需定时定位,可以用 alarmManager 实现1个 cpu 可叫醒的 timer,定时请求定位。运行效果如图所示:名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 5 页 -