
全球定位系统(global positioning system,gps),是一个中距离圆型轨道卫星导航系统,可以为地球表层的绝大部分地区(98%)提供精确的定位、测速和高准确的时间标准。gps广泛采用于军事、物流、地理、移动电话、数码相机、航空领域等,具有相当强大的功能。
android支持地理定位服务的api。该地理定位服务可以用来获得当前设备的地理位置,应用程序可以定时请求升级设施当前的地理位置信息。比如应用程序可以通过一个intent来推动如下功能:
以经纬度和长度规划一个区域,当设施处于给区域,发出提示信息,还可以跟google map api一起使用,完成更多的任务。
关于地理定位系统的api全部位于android.location包内,其中包含下列几个重要的用途类:
locationmanager:

本类提供访问定位服务的功能android gps开发,也提供获得绝佳定位提供者的用途。另外,临近警报用途也可以通过该类来推动。
locationprovide:
该类是定位提供者的抽象类。定位提供者具备周期性报告设备地理位置的功能。
locationlistener:
提供地位信息出现颠覆时的回调功能。必须事先在定位管理器中登录器对象。

criteria:
该类使得应用无法通过在locationprovider中设定的属性来选取适合的定位提供者。
geocoder:
用处理物理编码跟反向地理编码的类。地理编码是指将地址以及其它描述转变为经度和纬度,反向地理编码是将经度和纬度转变为地址或叙述语言,其中包括了两个构造 函数,需要传入经度和纬度的坐标。getfromlocation方法可以得到一组关于地址的数组。
要使用地理定位,首先必须取得locationmanager的例子,在android中,获取locationmanager的唯一途径就是通过getsystemservice()方法的读取。通过使用locationmanager,我们也可以获得一个位置提供者的列表。在一个真实的手持设备中,这个列表包括了一些gps服务。我盟也可以选取更强大、更准确、不带其他附件服务的gps。代码如下:
[Java] 查看源文件 复制代码
locationmanager.requestlocationupdate(locationmanager.gps_provider,1000,0,locationmanager);
取得locationmanager对象后,我们还必须注册一个周期性的升级视图,代码如下:
[Java] 查看源文件 复制代码
locationmanager.requestlocationupdate(locationmanager.gps_provider,1000,0,locationmanager);

其中第一个参数是设定服务提供者,第二个参数是周期,这里必须非常说明一下最后一个参数locationmanager,它用来定位信息的颠覆,所以我们需要推动下述几个方法:
onlocationchanged(location location):
当坐标改变时触发次函数,如果provider传进相同的坐标android gps开发,它就不会触发。
onproviderdisabled(string provider):
provider禁用时触发此变量,如gps被关闭。
onproviderenabled(sting provider):
provider启用是触发此变量,如gps被开启。
onstatuschanged(string provider, int status, bundle extras):
provider的状况在只用、暂时不可用跟无服务三个状态直接切换时触发此函数。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-136003-1.html
但这是没有什么用的