summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/position/corelocation/qgeopositioninfosource_cl.mm12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/plugins/position/corelocation/qgeopositioninfosource_cl.mm b/src/plugins/position/corelocation/qgeopositioninfosource_cl.mm
index 65848f7d..8ebe7018 100644
--- a/src/plugins/position/corelocation/qgeopositioninfosource_cl.mm
+++ b/src/plugins/position/corelocation/qgeopositioninfosource_cl.mm
@@ -78,10 +78,14 @@
newLocation.coordinate.longitude,
newLocation.altitude),
timeStamp);
- location.setAttribute(QGeoPositionInfo::HorizontalAccuracy, newLocation.horizontalAccuracy);
- location.setAttribute(QGeoPositionInfo::VerticalAccuracy, newLocation.verticalAccuracy);
- location.setAttribute(QGeoPositionInfo::Direction, newLocation.course);
- location.setAttribute(QGeoPositionInfo::GroundSpeed, newLocation.speed);
+ if (newLocation.horizontalAccuracy >= 0)
+ location.setAttribute(QGeoPositionInfo::HorizontalAccuracy, newLocation.horizontalAccuracy);
+ if (newLocation.verticalAccuracy >= 0)
+ location.setAttribute(QGeoPositionInfo::VerticalAccuracy, newLocation.verticalAccuracy);
+ if (newLocation.course >= 0)
+ location.setAttribute(QGeoPositionInfo::Direction, newLocation.course);
+ if (newLocation.speed >= 0)
+ location.setAttribute(QGeoPositionInfo::GroundSpeed, newLocation.speed);
m_positionInfoSource->locationDataAvailable(location);
}