1

我正在尝试在 Android 中做一个“跟踪”应用程序。我正在使用 Fused Location Api,就像在许多不同的站点中所说的那样,我正在通过其准确性过滤位置。

public void onLocationChanged(Location location) {
  if (location.getAccuracy() <= 10.0f && location.hasAccuracy() ) {
    //saveLocation(); or whatever
   }

代码更详细,只是为了反映这个想法。

Polyline该应用程序在我走路时画了一段时间,我每 5 秒得到一次位置。如果 GPS 未启用,我会说用户启用它。

问题是(我不允许上传图片,所以我会描述它)我的路径/路线、线路、奇怪的曲线、进入建筑物等......而且我不知道如何保持在街上排队...

如果我更改为“旧”APIlocationManager等,我会收到更好的位置吗?还是有另一种方式Fused Location

谢谢!

4

1 回答 1

2

GPS 信号通常非常“嘈杂”。根据我的经验(主要是位置管理器),即使接收器静止,连续的 gps 测量也可以“跳跃”多达 10 m。用折线连接原始数据点可能会显示出非常参差不齐的路径。

我的建议是更快地采样并过滤数据。过滤的方法有很多。例如,您可以简单地平均最近的 N 个纬度值(并对经度执行相同的操作)——“运行平均”过滤器。更复杂的方法将使用关于可能的速度和方向变化的知识(例如,卡尔曼滤波)。

于 2015-06-01T19:48:51.247 回答