admin管理员组文章数量:1122908
android高德地图轨迹偏纠,GitHub
DrawTraceDemo
高德地图轨迹回放带定位纠偏加彩虹渐变线
由于高德自身持续定位存在偏移状况,故摒弃了高德自身的定位点,改用自定义marker点作为定位点
加注轨迹纠偏函数,根据时间判定此次移动是否合乎标准
if(currLength
// if(currLength
errorCnt = 0;
lastLa = currLa;
lastTime = currTime;
mBestLat = mLocatinLat;
mBestLon = mLocationLon;
mCurrentLatLng = new LatLng(mBestLat, mBestLon);
LogUtil.d("yhy 发给轩哥了>>>>>>>>>" + currLength);
mLocationList.add(mCurrentLatLng);
mMarkMyLocation.setPosition(mCurrentLatLng);
DrawRideTraceTotal();
// lastTime = currTime;
// everyTime = currTime;
}else if(minusTime>=20000){
if(mOver){
if(!overLa.equals(currLa)){
// if(mOverCnt!=mLocationCnt){
errorCnt = 0;
lastLa = currLa;
lastTime = currTime;
LogUtil.d("确定大于距离,发给服务端>>>>>>>>>" + currLength);
// Toast.makeText(MainActivity.this,"确定大于距离,发给服务端>>>>>>>>>" + currLength,Toast.LENGTH_SHORT).show();
mBestLat = mLocatinLat;
mBestLon = mLocationLon;
mCurrentLatLng = new LatLng(mBestLat, mBestLon);
mLocationList.add(mCurrentLatLng);
mMarkMyLocation.setPosition(mCurrentLatLng);
DrawRideTraceTotal();
// lastTime = currTime;
// everyTime = currTime;
mOver = false;
}else {
errorCnt = 0;
// lastLa = currLa;
lastTime = currTime;
mOver = false;
}
}else {
if(currLength>((minusTime+1)/1000)*5){
mOver = true;
overLa = currLa;
LogUtil.d("yhy 第一次大于距离"+currLength);
// mOverCnt = mLocationCnt;
}
}
}
如若连续定位时间超过20秒,则判定为移动,或者连续两次较大偏移,则判断为确定移动
画线采取彩红线条,用户体验更加美观,如果选用高德自身渐变接口,效果并不是很理想,所以自行写渐变函数实现
渐变线效果。
程序实现定位实时记录,实时画线,捋通程序,你会发现悦跑圈,咕咚运动,不过如此。
我的上架项目遛狗圈地址:.htm?apkName=com.lbt.staffy.walkthedog
欢迎互相探讨学习。
本文标签: android高德地图轨迹偏纠GitHub
版权声明:本文标题:android高德地图轨迹偏纠,GitHub 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1701530340a428068.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论