diff options
Diffstat (limited to 'src/plugins/position/corelocation')
-rw-r--r-- | src/plugins/position/corelocation/qgeopositioninfosource_cl.mm | 12 |
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); } |