當(dāng)你看到4.9E-324這個(gè)參數(shù)的時(shí)候羡鸥,首先恭喜你開發(fā)百度地圖你入門了……
首先我們拋開Android 系統(tǒng)本身的問(wèn)題來(lái)看下為什么出現(xiàn)這個(gè) 4.9E-324 參數(shù)呢转质。一般出先這種問(wèn)題青责,原因有幾種
第一户誓、你的配置文件 AndroidManifest.xml(權(quán)限,ak)有問(wèn)題
第二悔橄、so庫(kù)不全
第三、網(wǎng)絡(luò)原因(室內(nèi)網(wǎng)絡(luò)差翎朱,不能獲取互聯(lián)網(wǎng))
第四橄维、Android 系統(tǒng)高版本的新特性
由于你的設(shè)備獲取不到定位尺铣,所以百度地圖SDK的程序源碼中就默認(rèn)寫了一個(gè)參數(shù)值在BDLocation 中
不管啦拴曲,既然有問(wèn)題就要解決
解決方案:
1、查找配置文件AndroidManifest.xml是否丟失配置信息凛忿,ak配置是否正確
這里我就不多說(shuō)了詳情參考百度地圖API文檔 百度地圖API入口
2澈灼、檢查你的jniLib中的so庫(kù)是否齊全,以及版本信息匹配一致
3、檢查網(wǎng)絡(luò)叁熔,是否可以與互聯(lián)網(wǎng)想通
4委乌、這是Android 7.x的操蛋問(wèn)題了,還是老話由于Android 7.x的系統(tǒng)特殊原因荣回,程序獲取不到應(yīng)有的系統(tǒng)權(quán)限遭贸,所以我們要做動(dòng)態(tài)權(quán)限處理,代碼如下(自行用IDE格式化)
// 定位權(quán)限
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;
}