}
if (mode == GPSPosition::Default) {
- m_gpsSource = new QGeoPositionInfoSource(this);
+ m_gpsSource = QGeoPositionInfoSource::createDefaultSource(this);
if (!m_gpsSource) {
emit m_parent->error(tr("Unable to use GPS"));
}
if (m_gpsSource) {
- connect(m_gpsSource, SIGNAL(positionUpdated(const GeoPositionInfo &)),
- this, SLOT(positionUpdated(const GeoPositionInfo &)));
- //connect(m_gpsSource, SIGNAL(updateTimeout()), this, SLOT(updateTimeout()));
+ connect(m_gpsSource, SIGNAL(positionUpdated(const QGeoPositionInfo &)),
+ this, SLOT(positionUpdated(const QGeoPositionInfo &)));
+ connect(m_gpsSource, SIGNAL(updateTimeout()), this, SLOT(updateTimeout()));
m_gpsSource->setUpdateInterval(m_updateInterval);
}
QPointF GPSPositionPrivate::lastPosition()
{
- GeoPositionInfo positionInfo = m_gpsSource->lastKnownPosition();
-
- return QPointF(positionInfo.coordinate().longitude(), positionInfo.coordinate().latitude());
+ QGeoCoordinate coordinate = m_gpsSource->lastKnownPosition().coordinate();
+ return QPointF(coordinate.longitude(), coordinate.latitude());
}
void GPSPositionPrivate::requestLastPosition()
{
qDebug() << __PRETTY_FUNCTION__;
- GeoPositionInfo positionInfo = m_gpsSource->lastKnownPosition();
+ QGeoCoordinate coordinate = m_gpsSource->lastKnownPosition().coordinate();
- if (positionInfo.isValid()) {
- GeoCoordinate coordinate = positionInfo.coordinate();
+ if (coordinate.isValid()) {
emit m_parent->position(QPointF(coordinate.longitude(), coordinate.latitude()),
accuracy(m_gpsSource->lastKnownPosition()));
}
}
-void GPSPositionPrivate::positionUpdated(const GeoPositionInfo &positionInfo)
+void GPSPositionPrivate::positionUpdated(const QGeoPositionInfo &positionInfo)
{
qDebug() << __PRETTY_FUNCTION__ << positionInfo;
if (positionInfo.coordinate().isValid()) {
- GeoCoordinate coordinate = positionInfo.coordinate();
- emit m_parent->position(QPointF(coordinate.longitude(), coordinate.latitude()),
+ emit m_parent->position(QPointF(positionInfo.coordinate().longitude(),
+ positionInfo.coordinate().latitude()),
accuracy(positionInfo));
}
}
}
}
-qreal GPSPositionPrivate::accuracy(const GeoPositionInfo &positionInfo)
+qreal GPSPositionPrivate::accuracy(const QGeoPositionInfo &positionInfo)
{
qDebug() << __PRETTY_FUNCTION__;
- if (!positionInfo.timestamp().isValid())
+ QDateTime timestamp;
+
+ if (!positionInfo.dateTime().isValid())
return GPS_ACCURACY_UNDEFINED;
- if (positionInfo.hasAttribute(GeoPositionInfo::HorizontalAccuracy))
- return positionInfo.attribute(GeoPositionInfo::HorizontalAccuracy);
+ if (positionInfo.hasAttribute(QGeoPositionInfo::HorizontalAccuracy))
+ return positionInfo.attribute(QGeoPositionInfo::HorizontalAccuracy);
else
return GPS_ACCURACY_UNDEFINED;
}