溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

android 通過百度地圖定位獲取坐標(biāo)在導(dǎo)航地圖上面顯示,坐標(biāo)發(fā)生偏移

發(fā)布時間:2020-07-05 14:41:27 來源:網(wǎng)絡(luò) 閱讀:2165 作者:wyh234846285 欄目:移動開發(fā)


private void initMap() {

// 定位初始化

mLocClient = new LocationClient(this);

mLocClient.registerLocationListener(myListener);

LocationClientOption option = new LocationClientOption();

option.setOpenGps(true);// 打開gps

option.setCoorType("bd09ll"); // 設(shè)置坐標(biāo)類型

// setScanSpan < 1000 則為 app主動請求定位;

// setScanSpan>=1000,則為定時定位模式(setScanSpan的值就是定時定位的時間隔))

// 定時定位模式中,定位sdk會按照app設(shè)定的時間定位進(jìn)行位置更新,定時回調(diào)定位結(jié)果。

// http://developer.baidu.com/map/index.php?title=android-locsdk/qa

// option.setScanSpan(1000);

mLocClient.setLocOption(option);

mLocClient.start();

}

    通過百度地圖(以上方法)獲取當(dāng)前坐標(biāo),在導(dǎo)航地圖上顯示的話,位置將發(fā)生偏移


解決辦法(用LocationManager定位管理器獲取):

 

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);

double longitude = location.getLongitude();

double latitude = location.getLatitude();

將LocationManager定位管理器獲取到的經(jīng)緯度設(shè)置到導(dǎo)航地圖上,即可顯示當(dāng)前位置(較小偏移)

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI