我有下面的代码,它每 0.5 米触发 GeoCoordinateWatcher PositionChanged 事件。它可能会更少。但这就是我的要求。
问题是当我带着电话走路时,代码不会在每 0.5 米处触发事件,而是在 0.5 米后随机触发事件。有时当我快速移动时,它会立即一个接一个地触发几个事件。
任何人都可以帮助我如何确保它每 0.5 米准确地触发 positionchanged 事件。
watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.Default);
if (watcher.Permission == GeoPositionPermission.Granted)
{
watcher.MovementThreshold = 0.5;//in meters
}
watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged); // PositionChanged events occur whenever your position changes
watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(watcher_OnStatusChanged);
watcher.Start();