Android定位系统(GPS)开发详解

  • 格式:pdf
  • 大小:99.89 KB
  • 文档页数:1

Android定位系统(GPS)开发详解

全球定位系统(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.requestLocationUpdate(LocationManager.GPS_PROVIDER,1000,0,locationManager);取得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 做的资料整理,有需要的朋友可以参考下。