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地图

 

posted on 2015-04-28 19:19  涛涛的小马甲  阅读(235)  评论(0编辑  收藏  举报

导航