Namespaces
Variants
Actions
Revision as of 04:23, 11 October 2012 by hamishwillee (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Get continuous location updates using Qt Mobility API

Jump to: navigation, search
Article Metadata

Tested with
Devices(s): Nokia N97 Mini

Compatibility
Platform(s): S60 5th Edition

Article
Keywords: QGeoPositionInfoSource, QGeoPositionInfo
Created: skumar_rao (15 Mar 2010)
Last edited: hamishwillee (11 Oct 2012)

Contents

Overview

How to get continuous location updates using Qt Mobility API

Project configuration file (.Pro file)

  • Add the Qt Mobility project configuration option in the .Pro file as shown below
CONFIG += mobility
MOBILITY += location

Header File

#include <QObject>
#include <QGeoPositionInfoSource>
using namespace QtMobility;
 
class LocationWatcher : public QObject
{
Q_OBJECT
 
public:
LocationWatcher(QObject *parent = 0);
void enable();
void disable();
 
private slots:
void positionUpdated(const QGeoPositionInfo &info);
 
private:
QGeoPositionInfoSource *source;
};

Source File

#include <QDebug>
 
#include "locationwatcher.h"
 
LocationWatcher::LocationWatcher(QObject *parent)
: QObject(parent)
{
source = QGeoPositionInfoSource::createDefaultSource(this);
if (source) {
source->setUpdateInterval(1000); // time in milliseconds
source->setPreferredPositioningMethods(QGeoPositionInfoSource::AllPositioningMethods);
}
}
 
void LocationWatcher::enable()
{
if (source) {
connect(source, SIGNAL(positionUpdated(QGeoPositionInfo)),
this, SLOT(positionUpdated(QGeoPositionInfo)));
source->startUpdates();
}
}
 
void LocationWatcher::disable()
{
if (source) {
source->stopUpdates();
disconnect(source, SIGNAL(positionUpdated(QGeoPositionInfo)),
this, SLOT(positionUpdated(QGeoPositionInfo)));
}
}
 
void LocationWatcher::positionUpdated(const QGeoPositionInfo &info)
{
if (info.isValid()) {
qDebug() << info;
}
}

Classes

  • QGeoPositionInfoSource
  • QGeoPositionInfo

Reference links

409 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved