欢迎来到天天文库
浏览记录
ID:33551951
大小:123.50 KB
页数:11页
时间:2019-02-27
《android之gps定位详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、LocationManagerLocationMangager,位置管理器。要想操作定位相关设备,必须先定义个LocationManager。我们可以通过如下代码创建LocationManger对象。LocationMangerlocationManager=(LocationManager)this.getSystemService(Context.LOCATION_SERVICE); 二、LocationListenerLocationListener,位置监听,监听位置变化,监
2、听设备开关与状态。privateLocationListenerlocationListener=newLocationListener(){/***位置信息变化时触发*/publicvoidonLocationChanged(Locationlocation){updateView(location);Log.i(TAG,"时间:"+location.getTime());Log.i(TAG,"经度:"+location.getLongitude());Log.i(TAG,"纬度:"+location
3、.getLatitude());Log.i(TAG,"海拔:"+location.getAltitude());}/***GPS状态变化时触发*/publicvoidonStatusChanged(Stringprovider,intstatus,Bundleextras){switch(status){//GPS状态为可见时caseLocationProvider.AVAILABLE:Log.i(TAG,"当前GPS状态为可见状态");break;//GPS状态为服务区外时caseLocationPr
4、ovider.OUT_OF_SERVICE:Log.i(TAG,"当前GPS状态为服务区外状态");break;//GPS状态为暂停服务时caseLocationProvider.TEMPORARILY_UNAVAILABLE:Log.i(TAG,"当前GPS状态为暂停服务状态");break;}}/***GPS开启时触发*/publicvoidonProviderEnabled(Stringprovider){Locationlocation=lm.getLastKnownLocation(provi
5、der);updateView(location);}/***GPS禁用时触发*/publicvoidonProviderDisabled(Stringprovider){updateView(null);}}; 三、LocationLocation,位置信息,通过Location可以获取时间、经纬度、海拔等位置信息。上面采用locationListener里面的onLocationChanged()来获取location,下面讲述如何主动获取location。Locationlocation
6、=locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);system.out.println("时间:"+location.getTime());system.out.println("经度:"+location.getLongitude());注意:Locationlocation=newLocation(LocationManager.GPS_PROVIDER)方式获取的location的各个参数值都是为0。
7、 四、GpsStatus.ListenerGpsStatus.Listener,GPS状态监听,包括GPS启动、停止、第一次定位、卫星变化等事件。//状态监听GpsStatus.Listenerlistener=newGpsStatus.Listener(){publicvoidonGpsStatusChanged(intevent){switch(event){//第一次定位caseGpsStatus.GPS_EVENT_FIRST_FIX:Log.i(TAG,"第一次定位");break;
8、//卫星状态改变caseGpsStatus.GPS_EVENT_SATELLITE_STATUS:Log.i(TAG,"卫星状态改变");//获取当前状态GpsStatusgpsStatus=lm.getGpsStatus(null);//获取卫星颗数的默认最大值intmaxSatellites=gpsStatus.getMaxSatellites();//创建一个迭代器保存所有卫星Iteratoriters=g
此文档下载收益归作者所有