我们正在为我们的应用程序评估WP8.它利用GPS跟踪在区域内工作的承包商.我们看到诺基亚Lumia是非常好的硬件平台,但面临软件堆栈的问题.
a.我们尝试了该平台的geolocator功能,并将MovementThreshold设置为100,精度设置为HIGH.
湾我们仍然看到数据错误(即使我们移动大约一米,我们得到中断和位置太远离实际).在网络和文档上搜索后,我们发现“在WP8上,基于卫星GPS的位置只有在无法从WiFi /蜂窝网络获取位置信息时才能使用.
这正在扼杀对象的微调跟踪.有没有办法(比如在android我们可以选择提供者)我们可以强迫周六.基于GPS?
如果它有点重复,我很抱歉.
任何帮助将不胜感激.
PS:我们已经应用了计算点到点之间的差异的公式,并用阈值进行过滤,但这不是很好的方法.
问候…
有2个Geocoordinate课程
1 Geo * C * oordinate,位于System.Device.Location命名空间下
2 Geo * c * oordinate,位于 Windows.Devices.Geolocation命名空间下
1 Geo * C * oordinate,位于System.Device.Location命名空间下
2 Geo * c * oordinate,位于 Windows.Devices.Geolocation命名空间下
如果您在跟踪代码中使用Geolocator,那么您获得的坐标是Geocoordinate,因为它们都在2,Windows.Devices.Geolocation中提到的相同名称空间中,如果您使用geocoordinatewatcher,它会为您提供GeoCoordinate,因为它们都来自1 System.Device.Location .
如果您使用Geocoordinatewatcher上面的代码工作正常,但如果您使用的是Geolocator,那么HorizontalAccuracy属性将不适合您,而是您必须使用Accuracy Property.
private const double ACCURACY_THRESHOLD = 20; private void LocationChanged(Geocoordinate coordinate) { if (coordinate.Accuracy < ACCURACY_THRESHOLD) { // use point } else { // ignore and wait for better accuracy } }
或者你可以做的是你可以将Geocoordinate转换为GeoCoordinate并使用上面回答中提到的代码.