今天犹豫再三还是没写关于高德地图的那一部分,一方面是没敲对,定位不对,另一方面是确实也不是很会,是跟着网上的一些博客敲的,所以写今天写的这一小部分吧,虽然有点少
首先需要关于地图的两项权限
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION
然后用easypermission去申请权限
正常操作
然后就是主要的获取部分了
权限申请
final String[] pers = new String[]{Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION};
public void initPers(){
if(!EasyPermissions.hasPermissions(MainActivity.this,pers)){
EasyPermissions.requestPermissions(this,"权限申请",100,pers);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
EasyPermissions.onRequestPermissionsResult(requestCode,permissions,grantResults,this);
}
@Override
public void onPermissionsGranted(int requestCode, @NonNull List<String> perms) {
}
@Override
public void onPermissionsDenied(int requestCode, @NonNull List<String> perms) {
}
获取定位监听
LocationListener listener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
Log.i("###", "onLocationChanged: 海拔"+ location.getAltitude());
Log.i("###", "onLocationChanged: 经度" + location.getLatitude());
Log.i("###", "onLocationChanged: 维度"+ location.getLongitude());
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
};
设置定位更新
manager = (LocationManager) getSystemService(LOCATION_SERVICE);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 1, listener);
就是这样