android中使用LocationManager定位获取信息

在一些应用程序中,我们需要获取位置的信息。可以通过android系统的LocationManager获取。LocationManager可以通过GPS定位LocationManager.GPS_PROVIDER,也可以通过网络定位LocationManager.NETWORK_PROVIDER。在手机的设置中-->位置服务-->打开基于网络的位置服务和GPS。好了,上代码

public class MainActivity extends Activity {

    private TextView msg;
    private LocationManager locationManager = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        msg = (TextView) findViewById(R.id.msg);
        locationManager = (LocationManager) this
                .getSystemService(Context.LOCATION_SERVICE);

    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
                1000, 1, new LocationListener() {

                    @Override
                    public void onStatusChanged(String provider, int status,
                            Bundle extras) {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public void onProviderEnabled(String provider) {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public void onProviderDisabled(String provider) {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public void onLocationChanged(Location location) {// 设备位置发生改变的时候触发
                        // TODO Auto-generated method stub
                        msg.setText("用户位置发生改变,新的位置数据:\n" + "经度:"
                                + location.getLongitude() + "\n" + "纬度:"
                                + location.getLatitude() + "\n" + "数据精确度:"
                                + location.getAccuracy() + "\n" + "时间:"
                                + location.getTime() + "\n" + "速度:"
                                + location.getSpeed() + "\n" + "方位:"
                                + location.getBearing());
                        Log.e("mymap", location.toString());
                    }
                });
    }

}

虽然可以获取的位置信息,但位置有偏差。想要获取比较准确与更详细的位置信息,在当前市面上有百度地图的LBS、高德地图LBS等,可以获取地址,街道等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LocationManagerAndroid平台的一个类,它用于获取设备的位置信息。而要获取卫星信息,则需通过该类的一些方法和接口来实现。 首先,我们需要在AndroidManifest.xml文件添加相应的权限,即访问位置信息的权限如下: ``` <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> ``` 接下来,在代码我们需要实例化LocationManager对象,如下所示: ``` LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); ``` 然后,我们可以通过调用locationManager的getGpsStatus方法来获取GPS状态对象: ``` GpsStatus gpsStatus = locationManager.getGpsStatus(null); ``` 得到gpsStatus对象后,我们可以调用它的方法获取卫星相关信息。例如,通过调用gpsStatus的getSatellites方法,可以获得卫星的可见性和信号强度等信息: ``` Iterable<GpsSatellite> satellites = gpsStatus.getSatellites(); for (GpsSatellite satellite : satellites) { // 获取卫星的相关信息 float snr = satellite.getSnr(); // 信噪比 int prn = satellite.getPrn(); // 卫星编号 boolean hasAlmanac = satellite.hasAlmanac(); // 是否有星历数据 boolean hasEphemeris = satellite.hasEphemeris(); // 是否有星历计算 // 其他获取卫星信息的方法 } ``` 这样,我们就可以通过LocationManager和GpsStatus对象获取到卫星的相关信息了。当然,在使用LocationManager获取卫星信息时,需要注意确保设备已经获得了GPS定位权限,并且可以接收到GPS信号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值