summaryrefslogtreecommitdiffstats
path: root/gpslocation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gpslocation.cpp')
-rw-r--r--gpslocation.cpp29
1 files changed, 27 insertions, 2 deletions
diff --git a/gpslocation.cpp b/gpslocation.cpp
index 6725abfb9..da4734897 100644
--- a/gpslocation.cpp
+++ b/gpslocation.cpp
@@ -1,7 +1,32 @@
#include "gpslocation.h"
+#include <QDebug>
-GpsLocation::GpsLocation()
-{
+GpsLocation::GpsLocation(QObject *parent)
+{
+ QGeoPositionInfoSource *gpsSource = QGeoPositionInfoSource::createDefaultSource(parent);
+ if (gpsSource != 0) {
+ qDebug() << "have position source" << gpsSource->sourceName();
+ connect(gpsSource, SIGNAL(positionUpdated(QGeoPositionInfo)), this, SLOT(newPosition(QGeoPositionInfo)));
+ connect(gpsSource, SIGNAL(updateTimeout()), this, SLOT(updateTimeout()));
+ lastPos = gpsSource->lastKnownPosition();
+ gpsSource->requestUpdate(1000);
+ QGeoCoordinate lastCoord = lastPos.coordinate();
+ if (lastCoord.isValid()) {
+ qDebug() << lastCoord.toString();
+ } else {
+ qDebug() << "invalid last position";
+ }
+ } else {
+ qDebug() << "don't have GPS source";
+ }
+}
+void GpsLocation::newPosition(QGeoPositionInfo pos)
+{
+ qDebug() << "received new position" << pos.coordinate().toString();
}
+void GpsLocation::updateTimeout()
+{
+ qDebug() << "request to get new position timed out";
+}