当你看到4.9E-324这个参数的时候,首先恭喜你开发百度地图你入门了……
首先我们抛开Android 系统本身的问题来看下为什么出现这个 4.9E-324 参数呢。一般出先这种问题,原因有几种
第一、你的配置文件 AndroidManifest.xml(权限,ak)有问题
第二、so库不全
第三、网络原因(室内网络差,不能获取互联网)
第四、Android 系统高版本的新特性
由于你的设备获取不到定位,所以百度地图SDK的程序源码中就默认写了一个参数值在BDLocation 中
不管啦,既然有问题就要解决
解决方案:
1、查找配置文件AndroidManifest.xml是否丢失配置信息,ak配置是否正确
这里我就不多说了详情参考百度地图API文档 百度地图API入口
2、检查你的jniLib中的so库是否齐全,以及版本信息匹配一致
3、检查网络,是否可以与互联网想通
4、这是Android 7.x的操蛋问题了,还是老话由于Android 7.x的系统特殊原因,程序获取不到应有的系统权限,所以我们要做动态权限处理,代码如下(自行用IDE格式化)
// 定位权限
public booleanrequestLocation() {
if(ContextCompat.checkSelfPermission(mActivity, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
return true;
}
if(ActivityCompat.shouldShowRequestPermissionRationale(mActivity, Manifest.permission.ACCESS_COARSE_LOCATION)) {
// Show Rationale
ActivityCompat.requestPermissions(mActivity,newString[]{Manifest.permission.ACCESS_COARSE_LOCATION}, Constants.PERMISSIONS.ALL);
}else{
//
ActivityCompat.requestPermissions(mActivity,newString[]{Manifest.permission.ACCESS_COARSE_LOCATION}, Constants.PERMISSIONS.ALL);
}
return false;
}
网友评论