GeoLocator PositionChanged事件过于频繁地触发

时间:2013-11-15 16:06:31

标签: c# windows-phone-8 geolocation

我正在使用GeoLocator类作为位置感知应用程序,我希望每分钟更新一次以节省电池。我已相应地设置了ReportInverval属性,但更频繁地触发了PositionChanged事件。这有什么不对?

App.Geolocator = new Geolocator();
App.Geolocator.DesiredAccuracy = PositionAccuracy.High;
App.Geolocator.MovementThreshold = 100; 
App.Geolocator.ReportInterval = 1000*60; //report change every minute
App.Geolocator.PositionChanged += geolocator_PositionChanged;

2 个答案:

答案 0 :(得分:1)

那应该每分钟都给你一个位置,但文档确实说:

如果其他应用程序请求更频繁的更新,则通过为ReportInterval指定较小的值,您的应用程序可能会以高于请求的频率接收更新

答案 1 :(得分:0)

找出它无法正常工作的原因。解决方案是不使用MovementTreshold,因为它优先于ReportInterval。