AndroidGPS定位详解(2)

时间:2022-10-30 14:26:14
3、Location
Location,位置信息,通过Location可以获取时间、经纬度、海拔等位置信息。上面采用locationListener里面的onLocationChanged()来获取location,下面讲述如何主动获取location。
Location location=locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);   
system.out.println("时间:"+location.getTime());   
system.out.println("经度:"+location.getLongitude());  
注意:Location location=new Location(LocationManager.GPS_PROVIDER)方式获取的location的各个参数值都是为0。

 4、GpsStatus.Listener
GpsStatus.Listener ,GPS状态监听,包括GPS启动、停止、第一次定位、卫星变化等事件。
AndroidGPS定位详解(2)
    // 状态监听
    GpsStatus.Listener listener = new GpsStatus.Listener() {
         public void onGpsStatusChanged( int event) {
             switch (event) {
             // 第一次定位
             case GpsStatus.GPS_EVENT_FIRST_FIX:
                Log.i(TAG, "第一次定位");
                break;
             // 卫星状态改变
             case GpsStatus.GPS_EVENT_SATELLITE_STATUS:
                Log.i(TAG, "卫星状态改变");
                // 获取当前状态
                GpsStatus gpsStatus=lm.getGpsStatus( null);
                // 获取卫星颗数的默认最大值
                int maxSatellites = gpsStatus.getMaxSatellites();
                // 创建一个迭代器保存所有卫星
                Iterator<GpsSatellite> iters = gpsStatus.getSatellites().iterator();
                int count = 0;     
                while (iters.hasNext() && count <= maxSatellites) {     
                    GpsSatellite s = iters.next();     
                    count++;     
                }   
                System.out.println("搜索到:"+count+"颗卫星");
                break ;
             // 定位启动
             case GpsStatus.GPS_EVENT_STARTED:
                Log.i(TAG, "定位启动");
                break;
             // 定位结束
             case GpsStatus.GPS_EVENT_STOPPED:
                Log.i(TAG, "定位结束");
                break;
            }
        };
    };
// 绑定监听状态
lm.addGpsStatusListener(listener); AndroidGPS定位详解(2)

本文出自 “胡耀文的专栏” 博客,请务必保留此出处http://8382359.blog.51cto.com/8372359/1342403