QGeoCoordinate coordinate = m_gpsSource->lastKnownPosition().coordinate();
if (coordinate.isValid()) {
- qreal accuracy = biggerAccuracy(m_gpsSource->lastKnownPosition());
- emit position(QPointF(coordinate.longitude(), coordinate.latitude()), accuracy);
+ emit position(QPointF(coordinate.longitude(), coordinate.latitude()),
+ accuracy(m_gpsSource->lastKnownPosition()));
}
}
{
qDebug() << __PRETTY_FUNCTION__;
- if (positionInfo.coordinate().isValid()) {
-
- qreal accuracy = biggerAccuracy(positionInfo);
-
+ if (positionInfo.coordinate().isValid())
emit position(QPointF(positionInfo.coordinate().longitude(),
- positionInfo.coordinate().latitude()), accuracy);
- }
+ positionInfo.coordinate().latitude()),
+ accuracy(positionInfo));
}
void GPSPosition::updateTimeout()
}
}
-qreal GPSPosition::biggerAccuracy(QGeoPositionInfo positionInfo)
+qreal GPSPosition::accuracy(QGeoPositionInfo positionInfo)
{
qDebug() << __PRETTY_FUNCTION__;
- qreal horizontalAccuracy = GPS_ACCURACY_UNDEFINED;
- qreal verticalAccuracy = GPS_ACCURACY_UNDEFINED;
+ qWarning() << __PRETTY_FUNCTION__ << "h: " << positionInfo.attribute(QGeoPositionInfo::HorizontalAccuracy)
+ << "v: " << positionInfo.attribute(QGeoPositionInfo::VerticalAccuracy);
if (positionInfo.hasAttribute(QGeoPositionInfo::HorizontalAccuracy))
- horizontalAccuracy = positionInfo.attribute(QGeoPositionInfo::HorizontalAccuracy);
-
- if (positionInfo.hasAttribute(QGeoPositionInfo::VerticalAccuracy))
- verticalAccuracy = positionInfo.attribute(QGeoPositionInfo::VerticalAccuracy);
-
- int accuracy = verticalAccuracy;
-
- if (horizontalAccuracy > accuracy)
- accuracy = horizontalAccuracy;
-
- qWarning() << __PRETTY_FUNCTION__ << "accuracy, h:" << horizontalAccuracy
- << "v:" << verticalAccuracy
- << "return:" << accuracy;
-
- return accuracy;
+ return positionInfo.attribute(QGeoPositionInfo::HorizontalAccuracy);
+ else
+ return GPS_ACCURACY_UNDEFINED;
}
private:
/**
- * @brief Return bigger accuracy value from latitude and longitude values.
+ * @brief Return horizontal accuracy
*
* @param positionInfo geo position info
- * @return bigger accuracy value, -1 if undefined
+ * @return accuracy value, -1 if undefined
*/
- qreal biggerAccuracy(QGeoPositionInfo positionInfo);
+ qreal accuracy(QGeoPositionInfo positionInfo);
private slots:
*/
void updateTimeout();
+/*******************************************************************************
+ * DATA MEMBERS
+ ******************************************************************************/
private:
QGeoPositionInfoSource *m_gpsSource; ///< GPS position info source
bool m_running; ///< GPS is running