34 QGeoCoordinate gcsPosition()
const {
return _gcsPosition; }
35 qreal gcsHeading()
const {
return _gcsHeading; }
36 qreal gcsPositionHorizontalAccuracy()
const {
return _gcsPositionHorizontalAccuracy; }
37 QGeoPositionInfo geoPositionInfo()
const {
return _geoPositionInfo; }
38 int updateInterval()
const {
return _updateInterval; }
40 void setNmeaSourceDevice(QIODevice *device);
49 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 QGeoCoordinate _gcsPosition;
72 qreal _gcsHeading = qQNaN();
73 qreal _gcsPositionHorizontalAccuracy = std::numeric_limits<qreal>::infinity();
74 qreal _gcsPositionVerticalAccuracy = std::numeric_limits<qreal>::infinity();
75 qreal _gcsPositionAccuracy = std::numeric_limits<qreal>::infinity();
76 qreal _gcsDirectionAccuracy = std::numeric_limits<qreal>::infinity();
78 QGeoPositionInfoSource *_currentSource =
nullptr;
79 QGeoPositionInfoSource *_defaultSource =
nullptr;
80 QNmeaPositionInfoSource *_nmeaSource =
nullptr;
81 QGeoPositionInfoSource *_simulatedSource =
nullptr;
83 QGCCompass *_compass =
nullptr;
85 static constexpr qreal kMinHorizonalAccuracyMeters = 100.;
86 static constexpr qreal kMinVerticalAccuracyMeters = 10.;
87 static constexpr qreal kMinDirectionAccuracyDegrees = 30.;