Android之 GPS学习笔记
========================================
GPS:全球定位系统
GPS由三部分组成:GPS卫星组成的空间部分,若干地面组成的控制站,用户手中的接收机。
Android 为电话管理支持提供了TelephonyManager
为音频管理提供了AudioManager
为支持GPS提供了LocationManager。
获取: LocationManager lm = (LocationManager)Context. getSystemService(Context.LOCATION_SERVICE);
//与获取TelephonyManager,AudioManager的方法类似。
List<String> providers = lm.getAllProviers();//获取系统所有可用的LocationProvider的对象,返回List<String>
的providers的names集合。
LocationProvider:
获取LocationProvider的对象:
*通过名称来获得指定的LocationProvider对象。//LocationProvider provider = lm.getProvider(LocationManager.GPS_PROVIDER);
**通过Criteria获得LocationProvider,Criteria相当于一个过滤器,Location.getBestProvider(Criteria criteria,boolean enabledOnly);来
获取符合条件的Provider。
//LocationProvider 中最常用的LocationManager.GPS_PROVIDER
Location
通过程序可以实时的获取用户所在的经度,维度,高度,方向,移动速度等。详情见:疯狂android讲义P667
步骤:
1.获取系统的LocationManager对象.注意查看:LocationManager的API文档。
LocationManager lm = (LocationManager)Context. getSystemService(Context.LOCATION_SERVICE);
2.使用LocationManager,通过指定LocationProvider来获取定位信息,定位信息由Location对象表示
LocationProvider provider = lm.getProvider(String name);
3.从Location对象中获取定位信息。
// Location location = lm.getLastKnownLocation(String provider);
//访问GPS需要有权限:故应该在AndoridManifest.xml进行配置:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
临近警告;
LocationManager提供了一个方法:addProximityAlert(double latitude,double longitude,float radius,long expriration,PendingIntent intent);添加一个临近警告。
对应参数为:经度,维度,警告持续的时间:当-1时永久持续,intent表示:临近时触发的intent组件。
==============================================================================
小结:
本章主要介绍了Android提供 的GPS支持,目前绝大多数手机已经提供了GPS的硬件支持,都可以作为GPS定位系统的接收机,而我们要做的是从android系统中获取GPS定位信息。
需要重点掌握:LocationManager,LoccationProvider与LocationListener等API的功能和用法,并可以通过他们监听获取GPS定位信息。
获取GPS只是开发其他应用的一个基本前提,之后我们要结合Google Map进行定位,跟踪等
//Baidu Map 高德map 很不错的map ,美团的定位系统是:soso地图。搜房网也是soso地图
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。