summaryrefslogtreecommitdiff
path: root/doc/src/plugins/qml-location.qdoc
blob: 562f9bc4c50aa754a0d010b6f24b2151826c61bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/****************************************************************************
**
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms
** and conditions contained in a signed written agreement between you
** and Nokia.
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
    \group qml-location
    \title QML Location Plugin
    QML Support for the Qt Location API.
*/

/*!
    \page qml-location-plugin.html

    \title Location QML Plugin
    \previouspage {qtlocation-module.html}{QtLocation Module}

    \brief A QML plugin for the Qt Location API.


    \section1 Overview

    The Qt Location API gives users the capability to write applications that understand a geographical location and movement of the position coordinates. Backend services can be called by the API to detect landmarks and display appropriate information. The QML Location Plugin delivers these capabilities in an easy to use form.

    \section1 Positioning

    \section2 Coordinate

    The \l Coordinate is a basic unit of geographical information. The \l Coordinate element includes properties to hold the coordinate values for \l {Coordinate::latitude}{latitude}, \l {Coordinate::longitude}{longitude} and \l {Coordinate::altitude}{altitude}.

    \section2 Position

    The three dimensional position of an object such as a mobile device can be specified by giving the latitude, longitude and altitude. That is the values held in the Coordinate element. Additionally for computation of future positions we would like to know if the object is moving, what \l {Position::speed}{speed} it is doing and what is the \l {Position::timestamp}{timestamp} of the last position data. Position therefore includes values for \l {Coordinate::latitude}{latitude}, \l {Coordinate::longitude}{longitude}, \l {Coordinate::altitude}{altitude}, \l {Position::speed}{speed} and a \l {Position::timestamp}{timestamp}. \l Position also takes responsibility for validation of sensible values for these properties: just as there is a \l {Coordinate::latitude}{latitude} there is a property \l {Position::latitudeValid}{latitudeValid}. Similarly for the other properties with the exception of the timestamp.


    \section2 PositionSource

    We have a Position element, a Coordinate element but where do we get the
    data from? It is a good idea to be able to indicate alternative sources.
    Perhaps instead of directly picking up GPS satellites you want to do
    some testing using a datafile. We may also need to manage our
    interaction with the source.

    The \l PositionSource element provides the developer with control,
    within the limits allowed by the platform, of the source of the
    geographical data. The positional data can be sourced from a logfile
    which is in NMEA format.

    \l {http://en.wikipedia.org/wiki/NMEA}{NMEA} is a common text-based protocol for specifying navigational data. For convenience, the \l {PositionSource::nmeaSource}{nmeaSource} property is provided to enable QML applications to read NMEA data from a log file, the source will emit updates according to the time stamp of each NMEA sentence to produce a "replay" of the recorded data.

    \section2 Positioning Elements


    \annotatedlist qml-location

    \section1 Maps

    The Map element can be used be used to display a map of the world.  The
    bulk of the functionality is provided by a mapping plugin described
    by the plugin element associated with the Map.

    Various map objects can be added to the map.  These map objects are
    specified in terms of coordinates and meters.

    Interaction with the map objects is done via the MapMouseArea item.

    \section2 Map Elements

    \annotatedlist qml-location-maps

*/