21 #include <QLocalSocket>
28 qRegisterMetaType< QList<QGeoSatelliteInfo> >(
"QList<QGeoSatelliteInfo>" );
30 startSatelliteMonitor();
48 if ( locationDataSource )
64 if ( locationDataSource )
68 if ( mInfo.isValid() )
96 QgsDebugMsg(
"Valid QGeoPositionInfo, positionUpdated" );
106 for (
int i = 0; i < satellites.
size(); ++i )
108 QGeoSatelliteInfo currentSatellite = satellites.
at( i );
110 satelliteInfo.
azimuth = currentSatellite.attribute( QGeoSatelliteInfo::Azimuth );
111 satelliteInfo.
elevation = currentSatellite.attribute( QGeoSatelliteInfo::Elevation );
112 #if defined(HAVE_QT_MOBILITY_LOCATION )
113 satelliteInfo.
id = currentSatellite.prnNumber();
114 #else // QtPositioning
115 satelliteInfo.
id = currentSatellite.satelliteIdentifier();
117 satelliteInfo.
signal = currentSatellite.signalStrength();
132 for (
int i = 0; i < satellites.
size(); ++i )
134 QGeoSatelliteInfo currentSatellite = satellites.
at( i );
136 #if defined(HAVE_QT_MOBILITY_LOCATION )
138 #else // QtPositioning
146 #if defined(HAVE_QT_MOBILITY_LOCATION )
147 if ( satInView.
id == currentSatellite.prnNumber() )
149 if ( satInView.
id == currentSatellite.satelliteIdentifier() )
152 satInView.
inUse =
true;
162 void QgsQtLocationConnection::startGPS()
164 QgsDebugMsg(
"Starting GPS QtLocation connection" );
166 if ( !locationDataSource )
168 locationDataSource = QGeoPositionInfoSource::createDefaultSource(
this );
169 if ( locationDataSource )
171 locationDataSource->setPreferredPositioningMethods( QGeoPositionInfoSource::SatellitePositioningMethods );
172 locationDataSource->setUpdateInterval( 1000 );
180 locationDataSource->startUpdates();
191 locationDataSource->startUpdates();
195 void QgsQtLocationConnection::startSatelliteMonitor()
197 QgsDebugMsg(
"Starting GPS QtLocation satellite monitor" );
199 if ( !satelliteInfoSource )
201 satelliteInfoSource = QGeoSatelliteInfoSource::createDefaultSource(
this );
202 if ( satelliteInfoSource )
226 satelliteInfoSource->startUpdates();
237 satelliteInfoSource->startUpdates();
void satellitesInUseUpdated(const QList< QGeoSatelliteInfo > &satellites)
Called when the number of satellites in use is updated.
Status mStatus
Connection status.
void positionUpdated(const QGeoPositionInfo &info)
Called when the position updated.
const T & at(int i) const
QString number(int n, int base)
int count(const T &value) const
void append(const T &value)
Abstract base class for connection to a GPS device.
void satellitesInViewUpdated(const QList< QGeoSatelliteInfo > &satellites)
Called when the number of satellites in view is updated.
QgsGPSInformation mLastGPSInformation
Last state of the gps related variables (e.g.
void broadcastConnectionAvailable()
Needed to make QtLocation detected.
void stateChanged(const QgsGPSInformation &info)
QgsQtLocationConnection()
void parseData()
Parse available data source content.
~QgsQtLocationConnection()
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)