Windows phone 7 windows phone中的GeoCoordinateWatcher不会在给定的时间间隔触发事件

Windows phone 7 windows phone中的GeoCoordinateWatcher不会在给定的时间间隔触发事件,windows-phone-7,geolocation,windows-phone-7.1,windows-phone,Windows Phone 7,Geolocation,Windows Phone 7.1,Windows Phone,我有下面的代码,每0.5米触发一次GeoCoordinateWatcher PositionChanged事件。它可能更小。但这是我的要求 问题是,当我带着手机走路时,代码不会每隔0.5米触发一次事件,而是在0.5米后随机触发事件。有时,当我快速移动时,代码会立即触发几个事件 有谁能帮助我确保每0.5米准确触发一次位置更改事件 watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.Default);

我有下面的代码,每0.5米触发一次GeoCoordinateWatcher PositionChanged事件。它可能更小。但这是我的要求

问题是,当我带着手机走路时,代码不会每隔0.5米触发一次事件,而是在0.5米后随机触发事件。有时,当我快速移动时,代码会立即触发几个事件

有谁能帮助我确保每0.5米准确触发一次位置更改事件

            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();
watcher=新的地理坐标记录器(GeoPositionAccuracy.Default);
if(watcher.Permission==geoppositionpermission.grated)
{
watcher.MovementThreshold=0.5;//以米为单位
}
watcher.PositionChanged+=新事件处理程序(watcher_PositionChanged);//位置更改事件发生在位置更改时
watcher.StatusChanged+=新事件处理程序(watcher\u OnStatusChanged);
watcher.Start();

我不完全确定,但我不知道您为什么要使用以下代码:

if(watcher.Permission==geoppositionpermission.grated) {
watcher.MovementThreshold=0.5;//以米为单位 }


为什么您需要检查watcher的权限?为什么不直接定义MovementThreshold呢?这可能有助于提高数据的速度。此外,还可以将地理位置精度设置为默认值。如果您想让它发射得更准确,请使用地理定位精度。High

我不完全确定,但我不知道您为什么要使用以下代码:

if(watcher.Permission==geoppositionpermission.grated) {
watcher.MovementThreshold=0.5;//以米为单位 }


为什么您需要检查watcher的权限?为什么不直接定义MovementThreshold呢?这可能有助于提高数据的速度。此外,还可以将地理位置精度设置为默认值。如果您想让它发射得更准确,请使用地理定位精度。High

地理定位精度必须设置为High。我相信默认设置将使用手机/wifi来确定位置,而High将使用手机上的GPS。默认值主要在您仅查找一般位置时使用。

地理位置精度绝对应设置为高。我相信默认设置将使用手机/wifi来确定位置,而High将使用手机上的GPS。默认值主要用于查找一般位置。

此外,我确信您还可以在那里执行以下操作以获取水平和垂直精度数据的详细信息:

 e.Position.Location.HorizontalAccuracy.ToString();
 e.Position.Location.VerticalAccuracy.ToString();

此外,我非常确定,您还可以执行以下操作以获得水平和垂直精度数据的详细信息:

 e.Position.Location.HorizontalAccuracy.ToString();
 e.Position.Location.VerticalAccuracy.ToString();