59 void _positionUpdated(
const QGeoPositionInfo &update);
63 enum QGCPositionSource {
71 void _setPositionSource(QGCPositionSource source);
72 void _setupPositionSources();
73 void _handlePermissionStatus(Qt::PermissionStatus permissionStatus);
74 void _checkPermission();
75 void _setGCSHeading(qreal newGCSHeading);
76 void _setGCSPosition(
const QGeoCoordinate &newGCSPosition);
78 bool _usingPluginSource =
false;
79 int _updateInterval = 0;
81 QGeoPositionInfo _geoPositionInfo;
82 QGeoPositionInfoSource::Error _gcsPositioningError = QGeoPositionInfoSource::NoError;
84 QGeoCoordinate _gcsPosition;
85 QDateTime _gcsPositionTimestamp;
86 qreal _gcsHeading = qQNaN();
87 qreal _gcsPositionHorizontalAccuracy = std::numeric_limits<qreal>::infinity();
88 qreal _gcsPositionVerticalAccuracy = std::numeric_limits<qreal>::infinity();
89 qreal _gcsPositionAccuracy = std::numeric_limits<qreal>::infinity();
90 qreal _gcsDirectionAccuracy = std::numeric_limits<qreal>::infinity();
92 QGeoPositionInfoSource *_currentSource =
nullptr;
93 QGeoPositionInfoSource *_defaultSource =
nullptr;
94 QNmeaPositionInfoSource *_nmeaSource =
nullptr;
95 QGeoPositionInfoSource *_simulatedSource =
nullptr;
97 QGCCompass *_compass =
nullptr;
99 static constexpr qreal kMinHorizonalAccuracyMeters = 100.;
100 static constexpr qreal kMinVerticalAccuracyMeters = 10.;
101 static constexpr qreal kMinDirectionAccuracyDegrees = 30.;