导航定位与gps服务_第1页
导航定位与gps服务_第2页
导航定位与gps服务_第3页
导航定位与gps服务_第4页
导航定位与gps服务_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信赖源于专业GPS定位与服务信赖源于专业要解决的问题如何获取用户所在位置?如何提供位置相关的服务?信赖源于专业LBSLBS英文全称为:LocationBasedServicesMPS-MobilePositionServices,“移动定位服务”系统。LBS就是要借助互联网或无线网络,在固定用户或移动用户之间,完成定位和服务两大功能。两层含义首先是确定移动设备或用户所在的地理位置其次是提供与位置相关的各类信息服务如找到手机用户的当前地理位置,然后寻找手机用户当前位置处1公里范围内的宾馆、影院、图书馆、加油站等的名称和地址。信赖源于专业定位服务定位服务允许软件获取手机当前的位置信息美国GPS全球定位系统卫星中国北斗系统欧洲伽利略系统俄罗斯格洛纳斯全球定位系统

定位服务的API在android.location包中。信赖源于专业Android定位相关类LocationManager提供访问定位服务的功能提供获取最佳定位提供者的功能。临近警报功能也可以借助该类来实现。LocationProvider定位提供者周期性报告设备地理位置。Location封装了经纬度信息。LocationListener提供定位信息发生改变时的回调功能。必须事先在定位管理器中注册监听器对象Criteria设置查询条件Geocoder处理地理编码和反向地理编码的类Address信赖源于专业获取LocationManager提供位置服务,首先需要获得LocationManager对象唯一方法是调用方法Activity.getSystemService()。代码如下StringserviceString=Context.LOCATION_SERVICE;LocationManagerLocationManager=(LocationManager)getSystemService(serviceString);信赖源于专业定位方法

获取LocationManager后,还需指定定位方法,然后调用LocationManager的getLastKnowLocation()获取当前位置LocationManager支持的定位方法有两种GPS定位:可以提供较为精确的位置信息,但定位速度和质量受到卫星数量和环境情况的影响。LocationManager.GPS_PROVIDER需要ACCESS_FINE_LOCATION用户权限网络定位:基站或WiFi定位,位置信息精度差,但速度较GPS快LocationManager.NETWORK_PROVIDER需要权限ACCESS_COARSE_LOCATION与ACCESS_FINE_LOCATION信赖源于专业设置查询条件Criteria该类使得应用能够通过在LocationProvider中设置的属性来选择合适的定位提供者。

//方法:返回查询条件

publicCriteriagetCriteria(){ Criteriac=newCriteria(); c.setAccuracy(Criteria.ACCURACY_COARSE); //设置查询精度

c.setSpeedRequired(false); //设置是否要求速度

c.setCostAllowed(false); //设置是否允许产生费用

c.setBearingRequired(false); //设置是否需要得到方向

c.setAltitudeRequired(false); //是否需要得到海拔高度

c.setPowerRequirement(Criteria.POWER_LOW); //设置电池消耗级别

returnc; //返回查询条件

}信赖源于专业获取位置提供者依据Criteria条件对象获取提供者设置使用GPS定位StringbestProvider=lm.getBestProvider(getCriteria(),true);Locationlocation=locationManager.getLastKnownLocation(provider);Stringprovider=LocationManager.GPS_PROVIDER;Locationlocation=locationManager.getLastKnownLocation(provider);//获取经纬度信息doublelat=location.getLatitude();doublelng=location.getLongitude();信赖源于专业权限配置为支持GPS与网络定位两种定位方法,两种权限都设置:<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/><uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/>信赖源于专业请求位置更新

LocationManager提供了一种便捷、高效的位置监视方法requestLocationUpdates(),用于周期性更新。代码如下第1个参数是定位的方法,GPS定位或网络定位第2个参数是产生位置改变事件的时间间隔,单位为微秒第3个参数是距离条件,单位是米第4个参数是用于监听定位信息改变的监听器对象lm.requestLocationUpdates(provider,2000,10,locationListener);信赖源于专业位置监听器LocationListenerlocationListener=newLocationListener(){ //位置改变的时候调用

publicvoidonLocationChanged(Locationlocation){updateView(location);} //禁用LocationProvider时调用,如关闭GPS publicvoidonProviderDisabled(Stringprovider){updateView(null);} //启用LocationProvider时调用,如开启GPS publicvoidonProviderEnabled(Stringprovider){ //获取最新位置信息

Locationl=lm.getLastKnownLocation(provider); updateView(l); } //LocationProvider状态发生变化时调用

//status取值:LocationProvider.TEMPORARILY_UNAVAILABLE,OUT_OF_SERVICE,AVAILABLE publicvoidonStatusChanged(Stringprovider,intstatus,Bundleextras){}};信赖源于专业用DDMS模拟经纬度DDMSEmulatorCon

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论