码迷,mamicode.com
首页 > 移动开发 > 详细

AndroidBDMap学习05:连续定位地图

时间:2020-02-03 16:15:45      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:system   speed   alc   osi   eal   add   算法   script   pause   

一、防抖动,平滑策略

利用历史记录与当前定位信息,来确定图层标记的位置,以防止抖动

评分方案:

//权重分配
public static float[] EARTH_WEIGHT = {0.1f,0.2f,0.4f,0.6f,0.8f}; 

历史位置与当前定位结合:

//评分
for (int i = 0; i < locationList.size(); ++i) {//获得一个历史积累评分
    //历史lastPoint与当前curPoint的比对
    LatLng lastPoint = new LatLng(locationList.get(i).location.getLatitude(),
            locationList.get(i).location.getLongitude());
    LatLng curPoint = new LatLng(location.getLatitude(), location.getLongitude());
    double distance = DistanceUtil.getDistance(lastPoint, curPoint);//距离计算
    curSpeed = distance / (System.currentTimeMillis() - locationList.get(i).time) / 1000;
    score += curSpeed * Utils.EARTH_WEIGHT[i];
}
if (score > 0.00000999 && score < 0.00005) { // 经验值,开发者可根据业务自行调整,也可以不使用这种算法
    //调整,取上一次与当前的平均位置
    location.setLongitude(
            (locationList.get(locationList.size() - 1).location.getLongitude() + location.getLongitude())
                    / 2);
    location.setLatitude(
            (locationList.get(locationList.size() - 1).location.getLatitude() + location.getLatitude())
                    / 2);
    locData.putInt("iscalculate", 1);
} else {
    locData.putInt("iscalculate", 0);
}

二、添加图层标签

//1.设定标签
bitmap = BitmapDescriptorFactory.fromResource(R.drawbla....)
//2.设置图层变化
OverlayOption option=new MarkerOption().position(point).icon(bitmap)
//3.添加并显示
mBaiduMap.addOverlay(option)
//4.更新状态
mBaiduMap.setMapStatus(MapStatusFactory.newLocation(point))

三、生命周期管理

onDestroy:
    unrigestorListener(...)
    locationService.stop()
    mMapView.onDestroy()
onResume:
    mMapView.onResume()
    reset Button deal with...
    mMapView.clear()
onPause:
    mMapView.onPause()

 

AndroidBDMap学习05:连续定位地图

标签:system   speed   alc   osi   eal   add   算法   script   pause   

原文地址:https://www.cnblogs.com/lzw265/p/12255783.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!