在初始化自己位置的时候请求定位权限:
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 使用地图时的权限请求方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。