zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    LINUX系统 下载地址 LINUX镜像站 Centos ubuntu
    LINUX 操作命令大全
    THINKPHP3.2 配置Redis 使用 for windows
    THINKPHP3.2 中使用 soap 连接webservice 解决方案
    THINKPHP3.2+PHP5.3 配置MEMCACHE
    初学C#过程中的记录的一些认为以后有用的东西
    C#面向对象设计模式纵横谈:Builder
    C#面向对象设计模式纵横谈:Singleton
    pattern:Abstract Factory (创建型模式)模式笔记
    数据结构与算法
  • 原文地址:https://www.cnblogs.com/lzw265/p/12255783.html
Copyright © 2011-2022 走看看