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:
© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.