diff options
Diffstat (limited to 'gpslocation.cpp')
-rw-r--r-- | gpslocation.cpp | 29 |
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"; +} |