2

GeoCoordinateWatcher课程允许我不断更新用户当前位置。该WatcherOnPositionChanged事件将在以下时间引发

  1. 找到初始位置
  2. 提高了准确性
  3. 用户实际移动超出了定义的阈值

我需要尽可能准确地找到用户的位置,然后有效地停止观察者而忽略用户是否在移动。但是,似乎没有办法消除最后两种类型的更新。

我想到了几种方法。第一次更新始终是上次使用 GPS 时的缓存,第二次似乎是不准确的猜测,第三次似乎是最终准确的位置(至少在我的设备上)。根据这一点,对于所有设备来说都是如此似乎充其量是不可靠的。另一种方法可能是在确定位置之前等待固定的时间。例如等待 10 秒,然后获取最新位置。

我的第一种方法是在每次位置更改时更新和显示数据。然而,由于两个原因,这非常麻烦。在最初的几秒钟内,位置会发生多次变化,其次是当用户位置快速变化时,即当坐在移动的汽车中时,加载会变得非常烦人。

尽可能准确地找到用户的位置,然后关闭观察者的最佳方法是什么?

4

1 回答 1

1

在您从 GeoCoordinateWatcher 获得的 GeoCoordinate 对象上,有两个属性:VerticalAccuracy 和 Horizo​​ntalAccuracy,它们以米为单位给出误差幅度。只需忽略坐标,直到精度属性足够低以满足您的需要。

于 2012-04-15T10:48:57.460 回答