更改缓存中的间隔以更新GPS - Windows Phone 7.5

时间:2013-03-05 19:36:11

标签: c# windows-phone-7

我正在尝试在BackgroundWorker中获取GPS位置。我读过,数据是从缓存中获取的,这些缓存每15分钟更新一次。是否可以重新安排缓存的更新间隔? 现在我正在使用模拟器,并且我总是在事件StatusChanged中获得NoData。

好的,你可以解释一下,它在模拟器中是如何工作的吗? 这是我的代码:

private GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);

    private void StartGeoWatcher()
    {
        watcher.StatusChanged += GeoWatcherStatusChanged;
        watcher.PositionChanged += GeoWatcherPositionChanged;
        watcher.Start();
    }

    void GeoWatcherPositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
    {

    }

    void GeoWatcherStatusChanged(object sender, GeoPositionStatusChangedEventArgs e)
    {
        switch (e.Status)
        {
                case GeoPositionStatus.Initializing:
                    break;
                case GeoPositionStatus.Ready:
                    break;
                case GeoPositionStatus.NoData:
                    break;
                case GeoPositionStatus.Disabled:
                    break;
        }

    }

我在我的应用中启动模拟器。之后,我在其他工具中选择了一些位置。选择位置后,单击应用程序中的按钮,将运行periodictask。 首先:调用StatusChanged,状态为“Initializing”。第二:调用StatusChanged,状态为“NoData”。我不知道为什么,因为我在其他工具中选择了位置。

1 个答案:

答案 0 :(得分:0)

这不是真的,你可以通过为GeoCoordinateWatcher.DesiredAccuracy属性指定GeoPositionAccuracy.High获得实时GPS位置。但这会耗尽你的电池。

即使在正常设置下,您也应该能够获得几乎实时的位置。