900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > android获取当前位置的GPS经纬度

android获取当前位置的GPS经纬度

时间:2020-11-11 03:32:09

相关推荐

android获取当前位置的GPS经纬度

话不多说,直接上代码,哈哈哈哈哈哈哈哈

我就把讲解写在注释里面啦!!嘻嘻,这样方便点!!

因为我是在fragment里面获取,和activity不太一样,要注意上下文!

在mainifest里面添加权限

<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

private double lat;private double lon;

public void getMyLocation() {String serviceString = getActivity().LOCATION_SERVICE;// 获取的是位置服务LocationManager locationManager = (LocationManager) getActivity().getSystemService(serviceString);// 调用getSystemService()方法来获取LocationManager对象String provider = LocationManager.GPS_PROVIDER;// 指定LocationManager的定位方法if (ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {//这段是ALT+ENTER直接添加的,注意上下文就行了!// TODO: Consider calling// ActivityCompat#requestPermissions// here to request the missing permissions, and then overriding// public void onRequestPermissionsResult(int requestCode, String[] permissions,// int[] grantResults)// to handle the case where the user grants the permission. See the documentation// for ActivityCompat#requestPermissions for more details.return;}Location location = locationManager.getLastKnownLocation(provider);// 调用getLastKnownLocation()方法获取当前的位置信息Log.i("Locator","location"+location);if (location != null){lat = location.getLatitude();//获取纬度lon = location.getLongitude();//获取经度Log.i("Locator","lat="+lat+","+"lon"+lon);}else{Log.i("Locator","location为空");}locationManager.requestLocationUpdates(provider, 2000, 10, locationListener);// 产生位置改变事件的条件设定为距离改变10米,时间间隔为2秒,设定监听位置变化}

下面就是监听

private final LocationListener locationListener = new LocationListener() {@Overridepublic void onLocationChanged(Location location) {// TODO Auto-generated method stub}@Overridepublic void onProviderDisabled(String arg0) {// TODO Auto-generated method stub}@Overridepublic void onProviderEnabled(String arg0) {// TODO Auto-generated method stub}@Overridepublic void onStatusChanged(String arg0, int arg1, Bundle arg2) {// TODO Auto-generated method stub}};

然后在你需要的地方,调用getMyLocation()方法就可以啦!我把经纬度定义成成员变量,这个你看你自己!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。