来自onLocationChanged方法

时间:2015-10-12 11:49:16

标签: android maps

我们试图跟踪用户位置并绘制准确的用户线 - 他们在整个录制过程中的位置。 问题是我们有几个严重的困难:

  1. 冷启动。我们的用户没有时间等待获得稳定的卫星连接。在那段时间里,我们从用户所在的位置可以看到距离最远20公里的<​​strong>“shoots”。通常这种异常伴随着严重的位置偏离.getAccuracy&gt; 200,但不是所有时间。

  2. 建筑物内的位置。这种类型与location.getAccuracy =(10-150)一样严重,与退出建筑物时的“射击”坐标一样。

  3. 在截止点上丢失一些位置:如果我们切断所有位置.getAccuracy&gt; 50,我们将失去一些“好”的位置。此外,在某些情况下,location.getAccuracy在“拍摄”位置小于

  4. 我们开始削减所有位置,如果他们的速度超过16,7公里/小时,但有时“射击”位置由于修复之间的滞后而具有良好的速度。

    private  boolean isPossibleSpeed(Location masterLocation, Location testedLocation){
        double maxPossibleSpeed = 16.7;
        double currentSpeed = (masterLocation.distanceTo(testedLocation)) /
                (masterLocation.getTime() - testedLocation.getTime());
        LogUtil.log("CSB", currentSpeed + "/");
        if (currentSpeed<maxPossibleSpeed){
            return true;
        }else{
            return false;
        }
    }
    

    这是冷启动的图片。一次投掷。

    http://postimg.org/image/tn43nf0k9/

    有关如何改进录音的任何建议吗?有人遇到同样的问题吗?我确信有一些好的算法可以在实时中处理这个。 感谢。

0 个答案:

没有答案