温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

android 通过百度地图定位获取坐标在导航地图上面显示,坐标发生偏移

发布时间:2020-07-05 14:41:27 来源:网络 阅读:2165 作者:wyh234846285 栏目:移动开发


private void initMap() {

// 定位初始化

mLocClient = new LocationClient(this);

mLocClient.registerLocationListener(myListener);

LocationClientOption option = new LocationClientOption();

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

option.setCoorType("bd09ll"); // 设置坐标类型

// setScanSpan < 1000 则为 app主动请求定位;

// setScanSpan>=1000,则为定时定位模式(setScanSpan的值就是定时定位的时间隔))

// 定时定位模式中,定位sdk会按照app设定的时间定位进行位置更新,定时回调定位结果。

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

// option.setScanSpan(1000);

mLocClient.setLocOption(option);

mLocClient.start();

}

    通过百度地图(以上方法)获取当前坐标,在导航地图上显示的话,位置将发生偏移


解决办法(用LocationManager定位管理器获取):

 

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

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

double longitude = location.getLongitude();

double latitude = location.getLatitude();

将LocationManager定位管理器获取到的经纬度设置到导航地图上,即可显示当前位置(较小偏移)

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI