Log File Position Source (C++)#
Logfile Position Source shows how to create and work with a custom position source. It can be useful for simulating GPS data, or when the data is received in some custom format.
Running the Example#
To run the example from Qt Creator , open the Welcome mode and select the example from Examples. For more information, visit Building and Running an Example .
Creating custom Position Source#
In this example, the data is read from a text file, simplelog.txt. The file specifies position data using a simple text format: it contains one position update per line, where each line contains a date/time, a latitude and a longitude, separated by spaces. The date/time is in ISO 8601 format and the latitude and longitude are in degrees decimal format. Here is an excerpt from simplelog.txt:
2009-08-24T22:25:01 -27.576082 153.092415 2009-08-24T22:25:02 -27.576223 153.092530 2009-08-24T22:25:03 -27.576364 153.092648
We create a custom LogFilePositionSource
class, which derives from QGeoPositionInfoSource
. It reads position data from the file and distributes it via the positionUpdated()
signal.
The resulting time and position information is then displayed on the screen as simple text in date/time and latitude/longitude format.
Here is the definition of the LogFilePositionSource
class:
The main methods overrided by the subclass are:
startUpdates()
: called by client applications to start regular position updates.
stopUpdates()
: called by client applications to stop regular position updates.
requestUpdate()
: called by client applications to request a single update, with a specified timeout.
When a position update is available, the subclass emits the positionUpdated()
signal.
Here are the key methods in the class implementation: