全球定位系统(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的状态在可用、暂时不可用和无服务三个状态直接切换时触发此函数。
分享到:
相关推荐
第1章“Android系统概述”,概述Android系统方面的内容,包括智能手机平台的发展历程、Android系统的特点、Android的3种开发工作,以及Android的2种不同的开发方式。 第2章“Android系统开发综述”,介绍Android...
Android 高德地图基础地图的显示,GPS定位和实时导航。
离线地图 Esri公司实例加载在线地图,初步掌握工程的建立与地图的实现 将准备好的离线地图包加载在新开发的工程中 在离线地图的基础上进行定位,由于坐标系等原因未能成功 三方面 Part three 8 Android开发组之地图...
Android开发基础,讲述了Android开发环境的搭建、Android常用工具的使用和第一个Android应用程序的开发 第二篇 技术篇 第3章 Android中的资源访问 Android 中的资源访问,讲述了如何定义和访问Android中的外部...
包括利用Hibernate实现对数据库操作,以 Spring进行管理,响应用户的请求客户端功能实现,主要包括 MAPABC地图显示,利用手机GPS模块实现定位,调用 MAPABC API实现导航,以Android系统照相功能为基础,实现具有...
详细讲解了Android系统中常用驱动的移植知识,分别讲解了显示系统、输入系统、振动器系统、音频系统、视频输出系统、OpenMax多媒体框架、多媒体插件框架、传感器系统、照相机系统、Wi—Fi系统、蓝牙系统、电话系统、...
Android进阶高级:蓝牙/WIFI SMS/MMS 应用实现 深层次解析GPS原理,实现LocationManager/LocationProvider 进行定位/跟踪/查找/趋近警告以及Geocoder正逆向编解码等技术细节 2D图形库(Graphics/View)详解 SDCARD/...
* 百度Android定位SDK自v7.0版本起,按照附加功能不同,向开发者提供了四种不同类型的定位开发包,可根据不同需求下载不同的开发包 * ----这里使用了其中的基准定位 开发包也才几百k 没有担心apk 突然增大很多的...
本文就跟大家分享下Android开发中的GPS定位知识。 一、Android基础知识准备 1、Activity类 每一种移动开发环境都有自己的基类。如J2ME应用程序的基类是midlets,BREW的基类是applets,而Android程序的基类是...
1.1.1 android开发系统的由来 1 1.1.2 移动电话系统开发模式 2 1.1.3 未来移动电话的功能及android的优势 4 1.2 android的开发工作 6 1.2.1 android移植开发 6 1.2.2 android应用开发 8 1.2.3 android系统开发 9 1.3...
16.3 Android定位服务 430 16.3.1 开启定位服务 431 16.3.2 模拟测试 433 16.3.3 GPS与Google Map结合 435 16.4 案例重构 437 16.4.1 重构"定位查询"方法 438 16.4.2 重构"查询周围"方法 440 本章小结 443 ...
包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python...
第11章是XML与Android的开发基础;第12章~第13章讲解了建立第1个Android应用程序及和Android开发有关的核心技术;第14章讲解了建立多活动的Android应用程序;第15章讲解了高级应用接口的菜单、对话框与列表接口;第...
针对地籍调查手段落后、数字化程度不高的缺点,利用Maplib移动开发技术与GPS动态定位技术,结合户外地籍调查的实际情况,设计并实现了基于Android的地籍调查系统。以平湖市地籍调查为例,表明该系统不仅可以在外业调查...
用,Android实现GPS定位,Android通过JNI调用驱动程序,Android网络开发详解,android写的google map api 应用,android学 习资料大全,Android音视频的编解码,Android应用框架原理与程序设计36技(高焕堂著、简体版),...
用,Android实现GPS定位,Android通过JNI调用驱动程序,Android网络开发详解,android写的google map api 应用,android学 习资料大全,Android音视频的编解码,Android应用框架原理与程序设计36技(高焕堂著、简体版),...
接下来详细讲解了Android 核心应用的核心内容,主要包括电话/短信处理、GPS 定位、网络应用开发、多媒体项目开发、手机游戏开发等知识点的具体用法;然后讲解了Android 的高级知识,主要包括Android 典型模块、...
这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 开 放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了...
本书是一部关于 android开发的基础教程,采用由浅入深、循序渐进的方式讨论android。书中还结合数独游戏等实例更加形象生动地讲解了 android开发的基本流程,且每章最后都有一个 “快速阅读指南 ”,更加方便了读者...
Android_GoogleMaps基础开发教程.pdf Android_GPS架构分析.doc android_jni操作指南.pdf android_JNI编程_一些技巧.doc Android_NDK开发实例.doc Android_RIL层剖析(官方翻译).doc Android与JUnit深入浅出.pdf ...