您的位置:首页 > 移动开发 > Android开发

android中使用LocationManager定位获取信息

2015-08-06 18:34 453 查看
在一些应用程序中,我们需要获取位置的信息。可以通过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等,可以获取地址,街道等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: