在初始化自己位置的时候请求定位权限:
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 使用地图时的权限请求方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持亿速云。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。