• AndroidBDMap学习05:连续定位地图


    一、防抖动,平滑策略

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

    评分方案:

    //权重分配
    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()
  • 相关阅读:
    docker安装
    linux磁盘空间挂载
    python之MD5加密
    python之pymysql
    python 之Redis笔记
    python 随机生成中文名字
    python之json笔记
    python时间模块笔记
    python 用pip安装pymysql(win7下)
    数据库操作番外篇~
  • 原文地址:https://www.cnblogs.com/lzw265/p/12255783.html
Copyright © 2020-2023  润新知