该GeoCoordinateWatcher
课程允许我不断更新用户当前位置。该WatcherOnPositionChanged
事件将在以下时间引发
- 找到初始位置
- 提高了准确性
- 用户实际移动超出了定义的阈值
我需要尽可能准确地找到用户的位置,然后有效地停止观察者而忽略用户是否在移动。但是,似乎没有办法消除最后两种类型的更新。
我想到了几种方法。第一次更新始终是上次使用 GPS 时的缓存,第二次似乎是不准确的猜测,第三次似乎是最终准确的位置(至少在我的设备上)。根据这一点,对于所有设备来说都是如此似乎充其量是不可靠的。另一种方法可能是在确定位置之前等待固定的时间。例如等待 10 秒,然后获取最新位置。
我的第一种方法是在每次位置更改时更新和显示数据。然而,由于两个原因,这非常麻烦。在最初的几秒钟内,位置会发生多次变化,其次是当用户位置快速变化时,即当坐在移动的汽车中时,加载会变得非常烦人。
尽可能准确地找到用户的位置,然后关闭观察者的最佳方法是什么?