48 void _positionUpdated(
const QGeoPositionInfo &update);
52 enum QGCPositionSource {
60 void _setPositionSource(QGCPositionSource source);
61 void _setupPositionSources();
62 void _handlePermissionStatus(Qt::PermissionStatus permissionStatus);
63 void _checkPermission();
64 void _setGCSHeading(qreal newGCSHeading);
65 void _setGCSPosition(
const QGeoCoordinate &newGCSPosition);
67 bool _usingPluginSource =
false;
68 int _updateInterval = 0;
70 QGeoPositionInfo _geoPositionInfo;
71 QGeoPositionInfoSource::Error _gcsPositioningError = QGeoPositionInfoSource::NoError;
73 QGeoCoordinate _gcsPosition;
74 qreal _gcsHeading = qQNaN();
75 qreal _gcsPositionHorizontalAccuracy = std::numeric_limits<qreal>::infinity();
76 qreal _gcsPositionVerticalAccuracy = std::numeric_limits<qreal>::infinity();
77 qreal _gcsPositionAccuracy = std::numeric_limits<qreal>::infinity();
78 qreal _gcsDirectionAccuracy = std::numeric_limits<qreal>::infinity();
80 QGeoPositionInfoSource *_currentSource =
nullptr;
81 QGeoPositionInfoSource *_defaultSource =
nullptr;
82 QNmeaPositionInfoSource *_nmeaSource =
nullptr;
83 QGeoPositionInfoSource *_simulatedSource =
nullptr;
85 QGCCompass *_compass =
nullptr;
87 static constexpr qreal kMinHorizonalAccuracyMeters = 100.;
88 static constexpr qreal kMinVerticalAccuracyMeters = 10.;
89 static constexpr qreal kMinDirectionAccuracyDegrees = 30.;