繁体   English   中英

如何实现连续准确的Windows Phone 8 GPS跟踪

[英]How to achieve continuous & accurate Windows phone 8 gps tracking

我试图制作一个可连续获取位置Windows Phone 8的应用。

以下代码用于获取位置。

                geolocator = new Geolocator();
                geolocator.DesiredAccuracyInMeters = 30;
                geolocator.ReportInterval = 15000;
                geolocator.StatusChanged += geolocator_StatusChanged;
                geolocator.PositionChanged += geolocator_PositionChanged;

当gps正常恢复时,一切正常。

但是一旦gps位置不可用,Geolocator就会停止位置提取(即当设备返回gps区域时,不会调用geolocator_PositionChanged)

我试图根据此博客geolocator_StatusChanged()创建一个新的geolocator对象geolocator_StatusChanged() Windows Phone 8的地理高级跟踪方案)

  case PositionStatus.NoData:
              geolocator = new Geolocator();
              geolocator.DesiredAccuracyInMeters = 30;
              geolocator.ReportInterval = 15000;
              geolocator.StatusChanged += geolocator_StatusChanged;
              geolocator.PositionChanged += geolocator_PositionChanged;

              status = "no data";
              break;

但这也行不通。 请指导我如何确保继续提供GPS数据?

还有一点要注意的是,一旦gps来源更改为“蜂窝”,它将再也不会使用卫星卫星作为gps来源(蜂窝来源返回的准确度最低的gps值)。 那么,如何在Windows Phone 8中指定GPS源?

在设备上完成的测试:诺基亚lumia 520

我有一个可以正常运行的Windows Phone位置客户端,并且已经在Lumia 520上进行了测试。请对其进行测试,并让我知道您的想法:

https://github.com/nickfox/GpsTracker/tree/master/phoneClients/windowsPhone

您不应该像位置准确性那样关注位置来源。 如果信号源达到了您所要求的精度(无论是gps,wifi还是手机),谁在乎它的来源。 测试您的位置,以确保其满足您的准确性要求:

if (args.Position.Coordinate.Accuracy < 100.0) {
// do something with location
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM