Android 定位系统(GPS)开发基础
来源:互联网 发布:地铁线路运行 编程 编辑:程序博客网 时间:2024/05/15 07:17
前言
欢迎大家我分享和推荐好用的代码段~~
声明
欢迎转载,但请保留文章原始出处:
CSDN:http://www.csdn.net
雨季o莫忧离:http://blog.csdn.net/luckkof
正文
全球定位系统(Global Positioning System,GPS),是一个中距离圆型轨道卫星导航系统,可以为地球表面的绝大部分地区(98%)提供准确的定位、测速和高精准的时间标准。GPS广泛运用于军事、物流、地理、移动电话、数码相机、航空领域等,具有非常强大的功能。
Android支持地理定位服务的API。该地理定位服务可以用来获取当前设备的地理位置,应用程序可以定时请求更新设备当前的地理位置信息。比如应用程序可以借助一个Intent接收器来实现如下功能:
以经纬度和半径规划一个区域,当设备进入给区域,发出提醒信息,还可以和Google Map API一起使用,完成更多的任务。
关于地理定位系统的API全部位于android.location包内,其中包括以下几个重要的功能类:
LocationManager:本类提供访问定位服务的功能,也提供获取最佳定位提供者的功能。另外,临近警报功能也可以借助该类来实现。
LocationProvide:该类是定位提供者的抽象类。定位提供者具备周期性报告设备地理位置的功能。
LocationListener:提供地位信息发生改变时的回调功能。必须事先在定位管理器中注册监听器对象。
Criteria:该类使得应用能够通过在LocationProvider中设置的属性来选择合适的定位提供者。
Geocoder:用处理地理编码和反向地理编码的类。地理编码是指将地址或者其他描述转变为经度和纬度,反向地理编码是将经度和纬度转变为地址或描述语言,其中包含了两个构造 函数,需要传入经度和纬度的坐标。getFromLocation方法可以得到一组关于地址的数组。
要使用地理定位,首先需要取得LocationManager的实例,在Android中,获取LocationManager的唯一方法就是通过getSystemService()方法的调用。通过使用LocationManager,我们也可以获得一个位置提供者的列表。在一个真实的手持设备中,这个列表包含了一些GPS服务。我盟也可以选择更强大、更精准、不带其他附件服务的GPS。代码如下:
LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
取得LocationManager对象后,我们还需要注册一个周期性的更新视图,代码如下:
locationManager.requestLocationUpdate(LocationManager.GPS_PROVIDER,1000,0,locationManager);
其中第一个参数是设置服务提供者,第二个参数是周期,这里需要特别说明一下最后一个参数locationManager,它用来监听定位信息的改变,所以我们必须实现以下几个方法:
onLocationChanged(Location location):当坐标改变时触发次函数,如果Provider传进相同的坐标,它就不会触发。
onProviderDisabled(String provider):Provider禁用时触发此函数,如GPS被关闭。
onProviderEnabled(Sting provider):Provider启用是触发此函数,如GPS被打开。
onStatusChanged(String provider, int status, Bundle extras):Provider的状态在可用、暂时不可用和无服务三个状态直接切换时触发此函数。
- Android 定位系统(GPS)开发基础
- android GPS定位系统
- Android GPS定位系统
- Android开发---GPS定位
- PhoneGap android开发:GPS定位
- Android系统Gps开发
- iPhone应用开发之:GPS定位系统
- android的GPS定位跟踪系统
- Android根据系统策略选择GPS定位
- android用户定位GPS开发(一)
- android开发之GPS定位详解
- Android实现定位---GPS应用开发
- Android开发之GPS定位获取位置
- android开发之GPS定位详解
- Android开发——GPS定位
- android开发之GPS定位详解
- android开发之GPS定位详解
- android开发之GPS定位详解
- mvc4.0 @Styles.Render
- storm的日志问题
- PLSQL Developer 配置方法
- C#2010 在使用 System.Data.SQLite.dll 时出现异常
- 高效程序员的 7 个共同特征
- Android 定位系统(GPS)开发基础
- 判断用户名是否可用的向量版
- source insight中文乱码
- 包和访问权限(3)
- 面试:最易被忽略的12种高级错误
- C#Combobox控件
- storm的使用笔记
- iOS 获取电池状态
- 批量修改文件名的py脚本