C# Windows地理定位器在大约15分钟后返回更改的位置

C# Windows地理定位器在大约15分钟后返回更改的位置,c#,wpf,windows,geolocation,C#,Wpf,Windows,Geolocation,我使用Windows地理定位器中的PositionChanged事件在地图上显示用户的当前位置。一切正常,但大约15分钟后,地理定位器只返回非常旧的位置(30秒到1分钟): 以下是我的日志文件中的一个片段: 2021-04-06 18:07:23787INFO [127:WindowsGnssPositionProvider:LocatorOnPositionChanged()]-> LocatorOnPositionChanged vom地理定位器:长:xxxx,纬度: xxxx,准确度:4,

我使用Windows地理定位器中的PositionChanged事件在地图上显示用户的当前位置。一切正常,但大约15分钟后,地理定位器只返回非常旧的位置(30秒到1分钟):

以下是我的日志文件中的一个片段:

2021-04-06 18:07:23787INFO [127:WindowsGnssPositionProvider:LocatorOnPositionChanged()]-> LocatorOnPositionChanged vom地理定位器:长:xxxx,纬度: xxxx,准确度:4,时间戳:06.04.2021 18:06:22+02:00, 资料来源:卫星

距离越远,时间越长

这是我的地理定位器实例:

geolocator = new Geolocator()
{
    DesiredAccuracy = PositionAccuracy.High,
    ReportInterval = 1000
};
geolocator.PositionChanged += Geolocator_PositionChanged;

是否有办法解决此问题或从地理定位器中清除缓存?

尝试用计时器替换Posistion changed事件。 我不知道这个lib,但我可以想象,您频繁地触发此事件,以至于您无法跟上,而是将所有事件兑现,从而延迟了流程:

System.Timers.Timer t = new System.Timers.Timer(1000);
t.Start();
t.Elapsed += Geolocator_PositionChanged;

嗨,谢谢你的回答。但这不是我的问题。我每秒都会得到位置,但是如果你从位置(确定位置的系统时间)查看“Timestamp”属性,你会发现,geolocator会在每个新位置更改的事件中返回旧位置。你可能停止更改位置了吗?或者您的位置更改是否低于您定义的阈值?哦,对不起,我在示例中写入了错误的属性。ReportInterval=1000,而非MovementThreshold。在我的真实代码中,我编写了ReportInterval,在这一点上,我从来没有使用过这个库,我再也帮不上忙了……祝你好运!:)您可以每隔一秒创建一个新的地理定位仪,并处理旧的:D