当不移动时,从WP8地理定位器获取速度值

本文关键字:定位器 获取 速度 WP8 移动 | 更新日期: 2023-09-27 18:13:42

我正在使用WP8中的地理定位器类来构建一个显示当前速度的小应用程序。我将精度设置为高,并将MovementThreshold设置为0.1米。目前,我正在使用地理定位器的PositionChanged事件来获得移动时的速度。

问题是,当我停止移动时,没有PositionChanged事件被触发,因此速度在大多数时候应该为0而不是0。有时有效,有时无效,我想这与在阈值之间的某个地方停止有关。

我尝试的另一种可能性,是不使用PositionChanged和轮询当前位置与getgepositionasync每秒钟使用计时器来更新速度。这似乎工作得更好,但我想这是更耗电的方法,因为我得到的位置,无论它是否必要。

那么,无论移动与否,获得当前速度的最佳方法是什么?它甚至可以用PositionChanged来完成吗?

当不移动时,从WP8地理定位器获取速度值

我想你没有理想的解决方案。

在您的例子中,我将使用每秒触发的DispatcherTimer(例如)。你可以使用定时器,而不是每次调用getgepositionasync,你可以使用Geolocator实例来获得当前的速度。

我猜速度不只是更新当PositionChanged被触发,所以,这样,你可以得到一个更新的速度,而不消耗资源与getgepositionasync