在初始化自己位置的时候请求定位权限:
Constants.ACCESS_FINE_LOCATION_COMMANDS_REQUEST_CODE是自定义的常量值==0x01
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
//申请WRITE_EXTERNAL_STORAGE权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, Constants.ACCESS_FINE_LOCATION_COMMANDS_REQUEST_CODE);
} else {
/**
* 初始化用户位置
*/
setMyLoctionPicture();
}
/**
* 初始化用户位置
*/
public void setMyLoctionPicture(){
LogUtils.d(TAG,"setMyLocationPicture() is running");
if(aMap==null){
aMap=mapview.getMap();
}
MyLocationStyle locationStyle = new MyLocationStyle();
locationStyle.myLocationIcon(BitmapDescriptorFactory.fromResource(R.mipmap.location_marker));
locationStyle.strokeColor(Color.BLACK);
locationStyle.radiusFillColor(Color.argb(100, 0, 0, 100));
locationStyle.strokeWidth(1.0f);
aMap.setMyLocationStyle(locationStyle);
aMap.setLocationSource(this);
UiSettings uiSettings = aMap.getUiSettings();
uiSettings .setMyLocationButtonEnabled(true);
aMap.setMyLocationEnabled(true);
aMap.setInfoWindowAdapter(this);
aMap.setOnMarkerClickListener(this);
}
这样是确保在Android高版本时定位权限不会被屏蔽;导致定位和导航用不了情况。
以上这篇Android 使用地图时的权限请求方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。