summaryrefslogtreecommitdiff
path: root/src/location/doc
diff options
context:
space:
mode:
Diffstat (limited to 'src/location/doc')
-rw-r--r--src/location/doc/images/example-weatherinfo.pngbin82081 -> 0 bytes
-rw-r--r--src/location/doc/images/flickr-demo.jpgbin35647 -> 0 bytes
-rw-r--r--src/location/doc/images/qml-flickr-1.jpgbin58111 -> 0 bytes
-rw-r--r--src/location/doc/qtlocation.qdocconf3
-rw-r--r--src/location/doc/snippets/cpp/cppqml.cpp20
-rw-r--r--src/location/doc/snippets/declarative/declarative-location.qml2
-rw-r--r--src/location/doc/snippets/declarative/declarative-map.qml168
-rw-r--r--src/location/doc/snippets/declarative/maps.qml9
-rw-r--r--src/location/doc/snippets/declarative/places.qml13
-rw-r--r--src/location/doc/snippets/declarative/places_loader.qml9
-rw-r--r--src/location/doc/src/cpp-qml.qdoc24
-rw-r--r--src/location/doc/src/examples/declarative-flickr.qdoc83
-rw-r--r--src/location/doc/src/examples/logfilepositionsource.qdoc87
-rw-r--r--src/location/doc/src/examples/qtlocation-examples.qdoc1
-rw-r--r--src/location/doc/src/examples/weatherinfo.qdoc109
-rw-r--r--src/location/doc/src/maps.qdoc38
-rw-r--r--src/location/doc/src/place-caveats.qdocinc2
-rw-r--r--src/location/doc/src/place-definition.qdocinc2
-rw-r--r--src/location/doc/src/plugins/nokia_terms.qdoc2
-rw-r--r--src/location/doc/src/position.qdoc191
-rw-r--r--src/location/doc/src/qml-maps.qdoc33
-rw-r--r--src/location/doc/src/qml-position.qdoc136
-rw-r--r--src/location/doc/src/qtlocation-cpp.qdoc25
-rw-r--r--src/location/doc/src/qtlocation-geoservices.qdoc62
-rw-r--r--src/location/doc/src/qtlocation-qml.qdoc30
-rw-r--r--src/location/doc/src/qtlocation.qdoc25
26 files changed, 151 insertions, 923 deletions
diff --git a/src/location/doc/images/example-weatherinfo.png b/src/location/doc/images/example-weatherinfo.png
deleted file mode 100644
index 6557b57b..00000000
--- a/src/location/doc/images/example-weatherinfo.png
+++ /dev/null
Binary files differ
diff --git a/src/location/doc/images/flickr-demo.jpg b/src/location/doc/images/flickr-demo.jpg
deleted file mode 100644
index cfd12819..00000000
--- a/src/location/doc/images/flickr-demo.jpg
+++ /dev/null
Binary files differ
diff --git a/src/location/doc/images/qml-flickr-1.jpg b/src/location/doc/images/qml-flickr-1.jpg
deleted file mode 100644
index 14fc5c92..00000000
--- a/src/location/doc/images/qml-flickr-1.jpg
+++ /dev/null
Binary files differ
diff --git a/src/location/doc/qtlocation.qdocconf b/src/location/doc/qtlocation.qdocconf
index a5b10857..8e000634 100644
--- a/src/location/doc/qtlocation.qdocconf
+++ b/src/location/doc/qtlocation.qdocconf
@@ -36,13 +36,14 @@ qhp.QtLocation.subprojects.examples.selectors = fake:example
tagfile = ../../../doc/qtlocation/qtlocation.tags
-depends += qtcore qtdoc qtquick qtqml qtnetwork
+depends += qtcore qtdoc qtquick qtqml qtnetwork qtpositioning
headerdirs += .. \
../../imports/location
sourcedirs += .. \
../../imports/location \
+ ../../plugins/geoservices/nokia
exampledirs += ../../../examples \
../../../examples/declarative \
diff --git a/src/location/doc/snippets/cpp/cppqml.cpp b/src/location/doc/snippets/cpp/cppqml.cpp
index 93d2b603..34386ca8 100644
--- a/src/location/doc/snippets/cpp/cppqml.cpp
+++ b/src/location/doc/snippets/cpp/cppqml.cpp
@@ -48,10 +48,6 @@
#include <QtLocation/QPlaceUser>
#include <QtLocation/QPlaceRatings>
#include <QtLocation/QPlaceSupplier>
-#include <QtLocation/QGeoAddress>
-#include <QtLocation/QGeoRectangle>
-#include <QtLocation/QGeoCircle>
-#include <QtLocation/QGeoLocation>
void cppQmlInterface(QObject *qmlObject)
{
@@ -118,21 +114,5 @@ void cppQmlInterface(QObject *qmlObject)
//! [Supplier set]
qmlObject->setProperty("supplier", QVariant::fromValue(placeSupplier));
//! [Supplier set]
-
- //! [Address get]
- QGeoAddress geoAddress = qmlObject->property("address").value<QGeoAddress>();
- //! [Address get]
-
- //! [Address set]
- qmlObject->setProperty("address", QVariant::fromValue(geoAddress));
- //! [Address set]
-
- //! [Location get]
- QGeoLocation geoLocation = qmlObject->property("location").value<QGeoLocation>();
- //! [Location get]
-
- //! [Location set]
- qmlObject->setProperty("location", QVariant::fromValue(geoLocation));
- //! [Location set]
}
diff --git a/src/location/doc/snippets/declarative/declarative-location.qml b/src/location/doc/snippets/declarative/declarative-location.qml
index 111fe727..9b0efa42 100644
--- a/src/location/doc/snippets/declarative/declarative-location.qml
+++ b/src/location/doc/snippets/declarative/declarative-location.qml
@@ -40,7 +40,7 @@
//![0]
import QtQuick 2.0
-import QtLocation 5.0
+import QtPositioning 5.0
Rectangle {
id: page
diff --git a/src/location/doc/snippets/declarative/declarative-map.qml b/src/location/doc/snippets/declarative/declarative-map.qml
deleted file mode 100644
index d517580e..00000000
--- a/src/location/doc/snippets/declarative/declarative-map.qml
+++ /dev/null
@@ -1,168 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the examples of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
-** of its contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import Qt 4.7
-import QtMobility.location 1.2
-
-Item {
- id: page
- width: 320
- height: 480
- focus: true
-
- PositionSource {
- id: myPositionSource
- active: true
- updateInterval: 2000
- nmeaSource: 'nmealog.txt'
- onPositionChanged: console.log("Position changed in PositionSource")
- }
- LandmarkBoxFilter {
- id: boxFilter
- topLeft: map.toCoordinate(Qt.point(0,0))
- bottomRight: map.toCoordinate(Qt.point(page.width, page.height))
- }
-
- LandmarkProximityFilter {
- id: proximityFilter
- center: myPositionSource.position.coordinate
- //center: Coordinate {latitude: -27; longitude: 153}
- radius: 500000
- }
-
- LandmarkModel {
- id: landmarkModelAll
- autoUpdate: true
- filter: boxFilter
- limit: 50
- onModelChanged: {
- console.log("All landmark model changed, landmark count: " + count)
- }
- }
-
- //! [LandmarkModel proximity filter]
- LandmarkModel {
- id: landmarkModelNear
- autoUpdate: true
- filter: proximityFilter
- limit: 50
- onModelChanged: {
- console.log("Near landmark model changed, landmark count: " + count)
- }
- }
- //! [LandmarkModel proximity filter]
-
- Rectangle {
- id: dataArea
- anchors.fill: parent
- color: "#343434"
-
- //![Basic MapObjects and View on Map]
- Map {
- id: map
- plugin : Plugin {name : "nokia"}
- anchors.fill: parent
- size.width: parent.width
- size.height: parent.height
- zoomLevel: 10
-
- MapObjectView {
- id: allLandmarks
- model: landmarkModelAll
- delegate: Component {
- MapCircle {
- color: "green"
- radius: 1000
- center: Coordinate {
- latitude: landmark.coordinate.latitude
- longitude: landmark.coordinate.longitude
- }
- }
- }
- }
-
- MapCircle {
- id: myPosition
- color: "yellow"
- radius: 1000
- center: myPositionSource.position.coordinate
- }
- //![Basic MapObjects and View on Map]
-
- MapObjectView {
- id: landmarksNearMe
- model: landmarkModelNear
- delegate: Component {
- MapGroup {
- MapCircle {
- color: "red"
- radius: 1000
- center: Coordinate {
- latitude: landmark.coordinate.latitude
- longitude: landmark.coordinate.longitude
- }
- }
- }
- }
- }
-
- // center: Coordinate {latitude: -27; longitude: 153}
- center: myPositionSource.position.coordinate
-
- onZoomLevelChanged: {
- console.log("Zoom changed")
- updateFilters();
- }
- onCenterChanged: {
- console.log("Center changed")
- updateFilters();
- }
- function updateFilters () {
- // The pixel coordinates used are the map's pixel coordinates, not
- // the absolute pixel coordinates of the application. Hence e.g. (0,0) is always
- // the top left point
- var topLeftCoordinate = map.toCoordinate(Qt.point(0,0))
- var bottomRightCoordinate = map.toCoordinate(Qt.point(map.size.width, map.size.height))
- boxFilter.topLeft = topLeftCoordinate;
- boxFilter.bottomRight = bottomRightCoordinate;
- }
- } // map
- } // dataArea
-} // page
diff --git a/src/location/doc/snippets/declarative/maps.qml b/src/location/doc/snippets/declarative/maps.qml
index fbb60b82..eb5d5bc1 100644
--- a/src/location/doc/snippets/declarative/maps.qml
+++ b/src/location/doc/snippets/declarative/maps.qml
@@ -41,11 +41,18 @@
//! [QtQuick import]
import QtQuick 2.0
//! [QtQuick import]
+import QtPositioning 5.0
//! [QtLocation import]
import QtLocation 5.0
//! [QtLocation import]
Item {
+ id: page
+
+ Plugin {
+ id: myPlugin
+ }
+
//! [MapRoute]
Map {
RouteModel {
@@ -81,7 +88,7 @@ Item {
property MapCircle circle
Component.onCompleted: {
- circle = Qt.createQmlObject('import QtLocation 5.0; MapCircle {}')
+ circle = Qt.createQmlObject('import QtLocation 5.0; MapCircle {}', page)
circle.center = positionSource.position.coordinate
circle.radius = 5000.0
circle.color = 'green'
diff --git a/src/location/doc/snippets/declarative/places.qml b/src/location/doc/snippets/declarative/places.qml
index 66c62cf7..862ab182 100644
--- a/src/location/doc/snippets/declarative/places.qml
+++ b/src/location/doc/snippets/declarative/places.qml
@@ -42,10 +42,15 @@
import QtQuick 2.0
//! [QtQuick import]
//! [QtLocation import]
+import QtPositioning 5.0
import QtLocation 5.0
//! [QtLocation import]
Item {
+ Plugin {
+ id: myPlugin
+ }
+
Place {
id: place
}
@@ -110,6 +115,9 @@ Item {
//! [ExtendedAttributes write]
}
+ Icon {
+ id: icon
+ }
//! [Icon]
Image {
source: icon.url(Qt.size(64, 64))
@@ -118,7 +126,7 @@ Item {
Image {
//! [Icon default]
- source: icon.url()
+ source: icon.url()
//! [Icon default]
}
@@ -207,7 +215,6 @@ Item {
ListView {
anchors.top: parent.top
- anchors.bottom: position.top
width: parent.width
spacing: 10
@@ -303,7 +310,7 @@ Item {
id: myPlace
plugin: myPlugin
- name: "Nokia Brisbane"
+ name: "Brisbane Technology Park"
location: Location {
address: Address {
street: "53 Brandl Street"
diff --git a/src/location/doc/snippets/declarative/places_loader.qml b/src/location/doc/snippets/declarative/places_loader.qml
index 9f10faf7..06301064 100644
--- a/src/location/doc/snippets/declarative/places_loader.qml
+++ b/src/location/doc/snippets/declarative/places_loader.qml
@@ -39,6 +39,7 @@
****************************************************************************/
import QtQuick 2.0
+import QtPositioning 5.0
import QtLocation 5.0
Rectangle {
@@ -60,13 +61,7 @@ Rectangle {
plugin: myPlugin
searchTerm: "pizza"
- searchArea: GeoCircle {
- center {
- // Brisbane
- longitude: 153.02778
- latitude: -27.46778
- }
- }
+ searchArea: QtLocation.circle( -27.46778, 153.02778 )
Component.onCompleted: update()
}
diff --git a/src/location/doc/src/cpp-qml.qdoc b/src/location/doc/src/cpp-qml.qdoc
index 3e38edb0..aabf1f8a 100644
--- a/src/location/doc/src/cpp-qml.qdoc
+++ b/src/location/doc/src/cpp-qml.qdoc
@@ -27,7 +27,7 @@
/*!
\page location-cpp-qml.html
-\title Interfaces between C++ and QML Code
+\title Interfaces between C++ and QML Code in Qt Positioning
\brief Some of the location QML types providing interfaces to access and modify properties in C++.
@@ -120,26 +120,4 @@ The following gets the QPlaceSupplier representing this object from C++:
The following sets the properties of this object based on a QPlaceSupplier object from C++:
\snippet cpp/cppqml.cpp Supplier set
-
-\section2 Address - QGeoAddress
-\target geoaddress
-The \l {Address::address} {Address.address} property is used to provide an interface between C++ and QML code. First a pointer to a
-Address object must be obtained from C++, then use the \l {QObject::property()}{property()} and
-\l {QObject::setProperty()}{setProperty()} functions to get and set the \c address property.
-The following gets the QGeoAddress representing this object from C++:
-\snippet cpp/cppqml.cpp Address get
-The following sets the properties of this object based on a QGeoAddress object from C++:
-\snippet cpp/cppqml.cpp Address set
-
-
-\section2 Location - QGeoLocation
-\target location
-The \l {Location::location} {Location.location} property is used to provide an interface between C++ and QML code. First a pointer to a
-Location object must be obtained from C++, then use the \l {QObject::property()}{property()} and
-\l {QObject::setProperty()}{setProperty()} functions to get and set the \c location property.
-The following gets the QGeoLocation representing this object from C++:
-\snippet cpp/cppqml.cpp Location get
-The following sets the properties of this object based on a QGeoLocation object from C++:
-\snippet cpp/cppqml.cpp Location set
-
*/
diff --git a/src/location/doc/src/examples/declarative-flickr.qdoc b/src/location/doc/src/examples/declarative-flickr.qdoc
deleted file mode 100644
index 99c2792d..00000000
--- a/src/location/doc/src/examples/declarative-flickr.qdoc
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Free Documentation License Usage
-** 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. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: http://www.gnu.org/copyleft/fdl.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \example declarative/flickr
- \title Flickr (QML)
- \ingroup qtlocation-examples
-
- \brief The Flickr example shows how to use the user's current location to
- fetch local content from a web service.
-
- This is a small example, illustrating one of the very core parts of the
- Qt Location API: the ability to retrieve and use the user's current
- geographic location.
-
- Key QML types shown in this example:
- \list
- \li \l{QtLocation5::PositionSource}{PositionSource}
- \li \l{XmlListModel}{XmlListModel}
- \endlist
-
- \image qml-flickr-1.jpg
-
- \section2 Retrieving the Current Location
-
- Retrieving the user's current location is achieved using the PositionSource
- type. In this example, we instantiate the PositionSource as part of the
- GeoTab component (the floating "window" describing current location and
- status).
-
- \snippet flickr/flickrmobile/GeoTab.qml possrc
-
- When the "Locate and update" button is pressed, we first interrogate the
- PositionSource to check if it has an available backend for positioning
- data. If it does not, we fall back to using a pre-recorded NMEA log
- for demonstration. We then instruct the PositionSource to update.
-
- \snippet flickr/flickrmobile/GeoTab.qml locatebutton-top
- \snippet flickr/flickrmobile/GeoTab.qml locatebutton-clicked
-
- To share the new position data with the rest of the application, we use
- properties that we have created on the GeoTab component:
-
- \snippet flickr/flickrmobile/GeoTab.qml props
-
- The longitude and latitude values retrieved here are eventually set on
- in properties on the RestModel component. The RestModel is an XmlListModel,
- which retrieves XML data from a URL and creates a data model by performing
- XPath queries on it.
-
- In this case, it retrieves data from the Flickr REST API online, based on
- our current location
-
- \snippet flickr/flickrcommon/RestModel.qml restmodel
-
- This model data is then shown in a variety of Qt Quick views to produce
- the example application.
-
-*/
diff --git a/src/location/doc/src/examples/logfilepositionsource.qdoc b/src/location/doc/src/examples/logfilepositionsource.qdoc
deleted file mode 100644
index 0e7ac773..00000000
--- a/src/location/doc/src/examples/logfilepositionsource.qdoc
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Free Documentation License Usage
-** 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. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: http://www.gnu.org/copyleft/fdl.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
-\example logfilepositionsource
-\title Log File Position Source (C++)
-\ingroup qtlocation-examples
-
-\brief The Logfile Position Source shows how to create and work with a custom NMEA position source,
- for platforms without GPS.
-
-The data is read from a file which has positional data in NMEA format. The resulting time and
-position information is then displayed to the screen as simple text in date/time and
-latitude/longitude format.
-
-This example class reads location data from a text file, \e log.txt. The file specifies location
-data using a simple text format: it contains one location 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 \e log.txt:
-
-\code
-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
-\endcode
-
-The class reads this data and distributes it via the
-\l{QGeoPositionInfoSource::positionUpdated()}{positionUpdated()} signal.
-
-Here is the definition of the \c LogFilePositionSource class:
-
-\quotefromfile logfilepositionsource/logfilepositionsource.h
-\skipto class LogFilePositionSource
-\printuntil };
-
-The main methods overrided by the subclass are:
-
-\list
- \li \l{QGeoPositionInfoSource::startUpdates()}{startUpdates()}: called by client applications
- to start regular position updates.
- \li \l{QGeoPositionInfoSource::stopUpdates()}{stopUpdates()}: called by client applications to
- stop regular position updates.
- \li \l{QGeoPositionInfoSource::requestUpdate()}{requestUpdate()}: called by client applications
- to request a single update, with a specified timeout.
-\endlist
-
-When a position update is available, the subclass emits the
-\l{QGeoPositionInfoSource::positionUpdated()}{positionUpdated()} signal.
-
-Here are the key methods in the class implementation:
-
-\quotefromfile logfilepositionsource/logfilepositionsource.cpp
-\skipto LogFilePositionSource::LogFilePositionSource
-\printuntil /^\}/
-\skipto LogFilePositionSource::startUpdates
-\printuntil /^\}/
-\skipto LogFilePositionSource::stopUpdates
-\printuntil /^\}/
-\skipto LogFilePositionSource::requestUpdate
-\printuntil /^\}/
-\printuntil LogFilePositionSource::readNextPosition
-\printuntil /^\}/
-*/
diff --git a/src/location/doc/src/examples/qtlocation-examples.qdoc b/src/location/doc/src/examples/qtlocation-examples.qdoc
index 8a7fe532..146dba76 100644
--- a/src/location/doc/src/examples/qtlocation-examples.qdoc
+++ b/src/location/doc/src/examples/qtlocation-examples.qdoc
@@ -34,6 +34,5 @@
These are the Qt Location examples.
- \generatelist related
*/
diff --git a/src/location/doc/src/examples/weatherinfo.qdoc b/src/location/doc/src/examples/weatherinfo.qdoc
deleted file mode 100644
index ad5ad5d5..00000000
--- a/src/location/doc/src/examples/weatherinfo.qdoc
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Free Documentation License Usage
-** 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. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: http://www.gnu.org/copyleft/fdl.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \example weatherinfo
- \title Weather Info (C++/QML)
-
- \brief The Weather Info example shows how to use the user's current position
- to retrieve local content from a web service in a C++ plugin for QML.
-
- \ingroup qtlocation-examples
-
- Key Qt Location classes used in this example:
-
- \list
- \li \l{QGeoPositionInfo}
- \li \l{QGeoPositionInfoSource}
- \endlist
-
- \image ../images/example-weatherinfo.png
-
- The key part of this example is the application's data model, contained
- in the WeatherData and AppModel classes. WeatherData represents the weather
- information taken from the HTTP service. It is a simple data class, but we
- give it Q_PROPERTies to expose it nicely to QML, later.
-
- \snippet weatherinfo/appmodel.h 0
- \snippet weatherinfo/appmodel.h 1
-
- AppModel models the state of the entire application. At startup, the
- application first begins by waiting for network connectivity. We do
- this using the QNetworkConfigurationManager and QNetworkSession family
- of C++ APIs.
-
- \snippet weatherinfo/appmodel.cpp 0
- \snippet weatherinfo/appmodel.cpp 1
-
- Once the network session is open, we proceed to get the platform's
- default position source using QGeoPositionInfo::createDefaultSource()
-
- \snippet weatherinfo/appmodel.cpp 2
-
- If no default source is available, we take a static location and fetch
- weather for that. If, however, we do have a position source, we connect
- its positionUpdated() signal to a slot on the AppModel and call
- startUpdates(), which begins regular updates of device position.
-
- When a position update is received, we use the longitude and latitude
- of the returned coordinate to retrieve the current "city" name for use
- in the weather lookup.
-
- \snippet weatherinfo/appmodel.cpp 3
-
- To inform the UI about this process, the cityChanged() signal is emitted
- when a new city is used, and the weatherChanged() signal whenever a
- weather update occurs.
-
- \snippet weatherinfo/appmodel.h 2
- \snippet weatherinfo/appmodel.h 3
- \snippet weatherinfo/appmodel.h 4
-
- We use a QQmlListProperty for the weather forecast information,
- which contains the next 4 days of forecast weather. This makes it
- easy to access from QML.
-
- To expose these to the QML UI layer, we use the qmlRegisterType()
- function. We call this once for each type we wish to register, before
- loading the actual QML file.
-
- \snippet weatherinfo/main.cpp 0
- \snippet weatherinfo/main.cpp 1
-
- Finally, in the actual QML, we instantiate the AppModel.
-
- \snippet weatherinfo/weatherinfo.qml 0
- \snippet weatherinfo/weatherinfo.qml 1
- \snippet weatherinfo/weatherinfo.qml 2
-
- Once instantiated like this, we can use its properties elsewhere in the
- QML document:
-
- \snippet weatherinfo/weatherinfo.qml 3
- \snippet weatherinfo/weatherinfo.qml 4
-
-*/
diff --git a/src/location/doc/src/maps.qdoc b/src/location/doc/src/maps.qdoc
index 99cc9bca..3426d626 100644
--- a/src/location/doc/src/maps.qdoc
+++ b/src/location/doc/src/maps.qdoc
@@ -147,7 +147,7 @@ varying degrees of accuracy.
A geocoding query in QML is performed using the
\l{QtLocation5::GeocodeModel}{GeocodeModel} type. For an address-to-coordinate
query, its \c{query} property may be set to either an
-\l{QtLocation5::Address}{Address} object or a string containing the textual
+\l{QtPositioning5::Address}{Address} object or a string containing the textual
form of the address to search for. To perform the reverse, the same property
can be set to a \l {coordinate} instead. Results are made available in the
contents of the model.
@@ -161,7 +161,7 @@ contents of the model.
\li \l{QtLocation5::GeocodeModel}{GeocodeModel}
\li Queries the Plugin for geocoding translations and provides access to results via indexes in the model.
\row
- \li \l{QtLocation5::Address}{Address}
+ \li \l{QtPositioning5::Address}{Address}
\li Structured address for use in queries and results of geocoding.
\endtable
@@ -181,13 +181,13 @@ between the segments.
\b{Key Types}
\table
\row
- \li \l{QtLocation5::Route}{Routing}
+ \li \l{QtLocation5::Route}{Route}
\li The entire path to be navigated.
\row
- \li \l{QtLocation5::RouteSegment}{Segments}
+ \li \l{QtLocation5::RouteSegment}{RouteSegment}
\li The individual components of a route.
\row
- \li \l{QtLocation5::RouteManeuver}{Maneuvers}
+ \li \l{QtLocation5::RouteManeuver}{RouteManeuver}
\li The navigation information that joins segments.
\row
\li \l{QtLocation5::RouteModel}{RouteModel}
@@ -213,6 +213,10 @@ between the segments.
geographic coordinate from a street address) and navigation (including driving
and walking directions).
+Currently it is not possible to interact with maps via C++. Mapping applications
+must use the \l {Maps and Navigation (QML)} API.
+
+
\section1 Geocoding
In C++, an address-to-coordinate query is performed using the
@@ -234,4 +238,28 @@ on the same class. Instances of QGeocodingManager are available via
\li \l{QGeocodeReply}
\li Contains the results of a geocoding query.
\endtable
+
+\section1 Navigation
+
+In C++, a route query is performed using the \l{QGeoRoutingManager::calculateRoute()}{calculate()}
+method of the QGeoRoutingManager class. The returned route reply can contain
+multiple routes to the same destination.
+
+\b{Key Classes}
+\table
+ \row
+ \li \l{QGeoServiceProvider}
+ \li Provides a QGeocodingManager instance ready for use.
+ \row
+ \li \l{QGeoRoutingManager}
+ \li Accepts queries and produces QGeoRouteReply objects.
+ \row
+ \li \l{QGeoRouteReply}
+ \li Contains the results of a routing query.
+ \row
+ \li \l{QGeoRoute}
+ \li Contains information about a route.
+\endtable
+
+
*/
diff --git a/src/location/doc/src/place-caveats.qdocinc b/src/location/doc/src/place-caveats.qdocinc
index ce766338..d3d9bd0e 100644
--- a/src/location/doc/src/place-caveats.qdocinc
+++ b/src/location/doc/src/place-caveats.qdocinc
@@ -14,7 +14,7 @@
\endlist
It is possible that providers may only support a subset of these.
- See the \l {Qt Location Module#Plugin References and Parameters}{plugin documentation} for more
+ See the \l {Qt Location#Plugin References and Parameters}{plugin documentation} for more
details.
Saving of properties such as the rating, extended attributes,
diff --git a/src/location/doc/src/place-definition.qdocinc b/src/location/doc/src/place-definition.qdocinc
index d9bcc6b7..23987757 100644
--- a/src/location/doc/src/place-definition.qdocinc
+++ b/src/location/doc/src/place-definition.qdocinc
@@ -17,7 +17,7 @@ QPlace::detailsFetched() function can be queried to see if all available
details have been fetched, and if not, QPlaceManager::getPlaceDetails() can
be used to retrieve them. Precisely which details are populated during a
search and which need to be fetched individually may vary from provider to
-provider. See \l {Qt Location Module#Plugin References and Parameters}{plugin documentation} for
+provider. See \l {Qt Location#Plugin References and Parameters}{plugin documentation} for
more details.
The rich content of a place consists of items such as images, reviews and
diff --git a/src/location/doc/src/plugins/nokia_terms.qdoc b/src/location/doc/src/plugins/nokia_terms.qdoc
index c10bbbf0..2f29a60f 100644
--- a/src/location/doc/src/plugins/nokia_terms.qdoc
+++ b/src/location/doc/src/plugins/nokia_terms.qdoc
@@ -36,6 +36,6 @@ src/plugins/geoservices/nokia/NOKIA_TERMS_AND_CONDITIONS.txt in the Qt Location
package. The terms and conditions are reproduced below for convenience.
\legalese
-\include plugins/geoservices/nokia/NOKIA_TERMS_AND_CONDITIONS.txt
+\include NOKIA_TERMS_AND_CONDITIONS.txt.qdocinc
\endlegalese
*/
diff --git a/src/location/doc/src/position.qdoc b/src/location/doc/src/position.qdoc
deleted file mode 100644
index 75f54c31..00000000
--- a/src/location/doc/src/position.qdoc
+++ /dev/null
@@ -1,191 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Free Documentation License Usage
-** 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. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: http://www.gnu.org/copyleft/fdl.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
-\page location-positioning-cpp.html
-
-\title Positioning (C++)
-
-\brief The Location Positioning API enables location positioning by means of
-GPS or an NMEA data source.
-
-\section1 Positioning
-
-The Positioning component of the Qt Location API is about the geographical position, size
-and address of some place. Positioning contains a QGeoCoordinate class, containing latitude, longitude and altitude in meters. QGeoLocation contains a QGeoCoordinate plus address
-and size information (a bounding box) so that positions can be more than mathematical points.
-Movement into or out of the defined bounding box areas can be monitored. The API
-also allows the developer to control the source of the positional information
-as well.
-
-Location data involves a precisely specified position on the Earth's
-surface \unicode {0x2014} as provided by a latitude-longitude coordinate
-\unicode {0x2014} along with associated data, such as:
-
- \list
- \li The date and time at which the position was reported
- \li The velocity of the device that reported the position
- \li The altitude of the reported position (height above sea level)
- \li The bearing of the device in degrees, relative to true north
- \endlist
-
-This data can be extracted through a variety of methods. One of the most
-well known methods of positioning is GPS (Global Positioning System), a
-publicly available system that uses radiowave signals received from
-Earth-orbiting satellites to calculate the precise position and time of
-the receiver. Another popular method is 'Cell Identifier Positioning', which uses
-the cell identifier of the cell site that is currently serving the receiving
-device to calculate its approximate location. These and other positioning
-methods can all be used with the Location API; the only requirement for a
-location data source within the API is that it provides a
-latitude-longitude coordinate with a date/time value, with the option of
-providing the other attributes listed above.
-
-
-Location data sources are created by subclassing QGeoPositionInfoSource and
-providing QGeoPositionInfo objects through the
-QGeoPositionInfoSource::positionUpdated() signal. Clients that require
-location data can connect to the
-\l{QGeoPositionInfoSource::positionUpdated()}{positionUpdated()} signal and
-call \l{QGeoPositionInfoSource::startUpdates()}{startUpdates()} or
-\l{QGeoPositionInfoSource::requestUpdate()}{requestUpdate()} to trigger the
-distribution of location data. The location data distribution can be stopped by
-calling the \l {QGeoPositionInfoSource::stopUpdates()}{stopUpdates()} function.
-
-A default position source may be available on some platforms. Call
-QGeoPositionInfoSource::createDefaultSource() to create an instance of the default
-position source; the method returns 0 if no default source is available for
-the platform.
-
-If a problem occurs with access to the information source then an
-\l {QGeoPositionInfoSource::error()}{error()} signal is emitted.
-
-The QGeoAreaMonitor class enables client applications to be notified when
-the receiving device has moved in or out of a particular area, as specified
-by a coordinate and radius. If the platform provides built-in support for
-area monitoring, QGeoAreaMonitor::createDefaultMonitor() returns an instance of
-the default area monitor.
-
-Satellite information can also be distributed through the
-QGeoSatelliteInfoSource class. Call QGeoSatelliteInfoSource::createDefaultSource() to
-create an instance of the default satellite data source for the platform,
-if one is available. Alternatively, clients can subclass it to provide a
-custom satellite data source.
-
-
-
-\section2 Requesting Location Data from Data Sources
-
-To receive data from a source, connect to its
-\l{QGeoPositionInfoSource::positionUpdated()}{positionUpdated()} signal,
-then call either \l{QGeoPositionInfoSource::startUpdates()}{startUpdates()}
-or \l{QGeoPositionInfoSource::requestUpdate()}{requestUpdate()} to begin.
-
-Here is an example of a client that receives data from the default location
-data source, as returned by QGeoPositionInfoSource::createDefaultSource():
-
-\code
-class MyClass : public QObject
-{
- Q_OBJECT
-public:
- MyClass(QObject *parent = 0)
- : QObject(parent)
- {
- QGeoPositionInfoSource *source = QGeoPositionInfoSource::createDefaultSource(this);
- if (source) {
- connect(source, SIGNAL(positionUpdated(QGeoPositionInfo)),
- this, SLOT(positionUpdated(QGeoPositionInfo)));
- source->startUpdates();
- }
- }
-
-private slots:
- void positionUpdated(const QGeoPositionInfo &info)
- {
- qDebug() << "Position updated:" << info;
- }
-};
-
-\endcode
-
-\section2 Controlling Aspects of Data Sources
-
-The QGeoPositionInfoSource::setUpdateInterval() method can be used to
-control the rate at which position updates are received. For example, if
-the client application only requires updates once every 30 seconds, it can
-call \c setUpdateInterval(30000). (If no update interval is set, or
-\l {QGeoPositionInfoSource::}{setUpdateInterval()} is called with a value of 0, the source uses a default
-interval or some other internal logic to determine when updates should be
-provided.)
-
-QGeoPositionInfoSource::setPreferredPositioningMethods() enables client
-applications to request that a certain type of positioning method be used.
-For example, if the application prefers to use only satellite positioning,
-which offers fairly precise outdoor positioning but can be a heavy user of
-power resources, it can call this method with the
-QGeoPositionInfoSource::SatellitePositioningMethods value. However, this
-method should only be used in specialized client applications; in most
-cases, the default positioning methods should not be changed, as a source
-may internally use a variety of positioning methods that can be useful to
-the application.
-
-\section2 NMEA Data
-
-\l {http://en.wikipedia.org/wiki/NMEA_0183}{NMEA} is a common text-based
-protocol for specifying navigational data. For convenience, the
-QNmeaPositionInfoSource is provided to enable client applications to read
-and distribute NMEA data in either real-time mode (for example, when
-streaming from a GPS device) or simulation mode (for example, when reading
-from a NMEA log file). In simulation mode, the source will emit updates
-according to the time stamp of each NMEA sentence to produce a "replay"
-of the recorded data.
-
-Generally, the capabilities provided by the default position source as
-returned by QGeoPositionInfoSource::createDefaultSource(), along with the
-QNmeaPositionInfoSource class, are sufficient for retrieving location
-data. However, in some cases developers may wish to write their own custom
-location data source.
-
-The \l {Log File Position Source (C++)} example demonstrates how to subclass QGeoPositionInfoSource
-to create a custom positioning source.
-
-
-\section1 Examples
-
-\section3 \b{Flickr Example}
-
-The \l{Flickr QML}{Flickr Example} uses the Location to download thumbnail
-images from Flickr relevant to the current location.
-
-
-
-\section1 Location Position Classes
-
-\annotatedlist QtLocation-positioning
-
-*/
diff --git a/src/location/doc/src/qml-maps.qdoc b/src/location/doc/src/qml-maps.qdoc
index 45cf82f4..f63cc5a4 100644
--- a/src/location/doc/src/qml-maps.qdoc
+++ b/src/location/doc/src/qml-maps.qdoc
@@ -53,15 +53,41 @@ Interaction with the added items, and the \l Map itself, is handled by \l MapMou
are added as children of the
\l {Maps and Navigation (QML)#Putting Objects on a Map (Map Overlay Objects)}{MapItems} or \l Map.
-\section2 Position
+\section2 Position on map
+All position APIs are part of the \l {QtPositioning} module.
The basic piece of position information is the \l {coordinate}. A
coordinate encapsulates data for the latitude, longitude and altitude of the location. Altitude is
in meters. It also has a method to determine distance to another
\l {coordinate}. The \l {coordinate} type may
-also be held within a \l {QtLocation5::Location}{Location} element, this will also have information
+also be held within a \l {QtPositioning5::Location}{Location} element, this will also have information
on a bounding box size to determine sufficient proximity to the location and a location address.
+
+Here is an example of a client that uses a \l{PositionSource}{position source}
+to center a \l{Map}{map} on the current position:
+
+\code
+ Rectangle {
+
+ import QtPositioning 5.0
+ import QtLocation 5.0
+ ...
+
+ map : Map {
+ // initialize map
+ ...
+ }
+
+ PositionSource {
+ onPositionChanged: {
+ // center the map on the current position
+ map.center = position.coordinate
+ }
+ }
+ }
+\endcode
+
\section2 Geocoding
\l {http://en.wikipedia.org/wiki/Geocoding}{Geocoding} is the derivation of
@@ -194,9 +220,6 @@ example, by implementing the \c onValueChanged handler to update the Map
\section1 Types
-\section3 Positioning
-\annotatedlist qml-QtLocation5-positioning
-
\section3 Maps
\annotatedlist qml-QtLocation5-maps
diff --git a/src/location/doc/src/qml-position.qdoc b/src/location/doc/src/qml-position.qdoc
deleted file mode 100644
index 9553f6d2..00000000
--- a/src/location/doc/src/qml-position.qdoc
+++ /dev/null
@@ -1,136 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Free Documentation License Usage
-** 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. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: http://www.gnu.org/copyleft/fdl.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
-\page location-positioning-qml.html
-
-\title Positioning (QML)
-
-\brief The Location Positioning API enables location positioning by means of
-GPS or an NMEA data source.
-
-\section1 Location Positioning
-
-Location data involves a precisely specified position on the Earth's
-surface \unicode {0x2014} as provided by a latitude-longitude coordinate
-\unicode {0x2014} along with associated data, such as:
-
- \list
- \li The date and time at which the position was reported
- \li The velocity of the device that reported the position
- \li The altitude of the reported position (height above sea level)
- \li The bearing of the device in degrees, relative to true north
- \endlist
-
-For more information see
-\l {http://en.wikipedia.org/wiki/Geographic_coordinate}{Geographic Coordinate}.
-
-This data can be extracted through a variety of methods. One of the most
-well known methods of positioning is GPS (Global Positioning System), a
-publicly available system that uses radiowave signals received from
-Earth-orbiting satellites to calculate the precise position and time of
-the receiver. Another popular method is 'Cell Identifier Positioning', which uses
-the cell identifier of the cell site that is currently serving the receiving
-device to calculate its approximate location. These and other positioning
-methods can all be used with the Location API; the only requirement for a
-location data source within the API is that it provides a
-latitude-longitude coordinate with a date/time value, with the option of
-providing the other attributes listed above.
-
-\section2 Coordinate
-
-The \l {coordinate} is a basic unit of geographical information. The
-\l {coordinate} type has attributes to hold the \c {latitude},
-\c longitude and \c 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
-l\ {coordinate} type. 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 the \l {Position::coordinate}{coordinate},
-\l {Position::speed}{speed} and a \l {Position::timestamp}{timestamp}. \l Position also takes
-responsibility for validation of sensible values for these properties. These are exposed as
-the \l {Position::latitudeValid}{latitudeValid}, \l {Position::longitudeValid}{longitudeValid},
-\l {Position::altitudeValid}{altitudeValid}, \l {Position::speedValid}{speedValid},
-\l {Position::horizontalAccuracyValid}{horizontalAccuracyValid}, and
-\l {Position::verticalAccuracyValid}{verticalAccuracyValid} properties.
-
-
-\section2 PositionSource
-
-We have a Position type, a \l {coordinate} type but where does the data come from?
-Also it is a good idea to be able to indicate alternative sources.
-Perhaps instead of directly picking up GPS satellites it might be desirable to do
-some testing using a datafile.
-
-The \l PositionSource type provides the developer with control,
-within the limits allowed by the platform, of the source of the
-geographical data. Apart from tradtional sources such as GPS and cell 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 Example: Centering the Map on the Current Position
-
-Here is an example of a client that uses a \l{PositionSource}{position source}
-to center a \l{Map}{map} on the current position:
-
-\code
-Rectangle {
-
- import QtLocation 5.0
- ...
-
- map : Map {
- // initialize map
- ...
- }
-
- PositionSource {
- onPositionChanged: {
- // center the map on the current position
- map.center = position.coordinate
- }
- }
-}
-\endcode
-
-
-\section2 \b{Flickr Example}
-
-The \l{Flickr (QML)}{Flickr Example} uses the Location to download thumbnail
-images from Flickr relevant to the current location.
-
-
-\section1 Position QML Components
-
-\annotatedlist qml-QtLocation5-positioning
-*/
diff --git a/src/location/doc/src/qtlocation-cpp.qdoc b/src/location/doc/src/qtlocation-cpp.qdoc
index c13360b5..0c0f946d 100644
--- a/src/location/doc/src/qtlocation-cpp.qdoc
+++ b/src/location/doc/src/qtlocation-cpp.qdoc
@@ -30,17 +30,16 @@
\title Qt Location C++ API
\brief Information about the Qt Location C++ API
-The Location API provides a library for location positioning, mapping and navigation.
+The Location API provides a library for mapping, navigation and place information.
\tableofcontents
-The Qt Location API provides the developer with a set of functions for determining
-the current location and using that information with maps and places of interest.
+The Qt Location API provides the developer with a set of functions to interact
+with maps, navigational data and places of interest. This is particularly useful
+when associated with current position information which can be retrieved via the
+\l QtPositioning module.
-Positioning information can be sourced from GPS satellites or a stream of data using
-NMEA formatted text. Once a position is acquired we can monitor the updated
-position to see if it moves into or out of a given region. With the Maps API
-we can associate the position with a map in various formats supplied by a backend.
+With the Maps API we can associate a position with a map in various formats supplied by a backend.
Then the Places API could be used to populate places on the Map or even
specify the current position as a place of interest and associate it with
an icon, contact details and other information.
@@ -50,25 +49,17 @@ Qt Location C++ API.
\table
\row
- \li \l {Positioning (C++)}{Location Positioning}
- \li Retrieving information about the current position.
- \row
\li \l {Maps and Navigation (C++)}{Maps and Navigation}
\li Displaying maps and finding routes.
\row
\li \l {Places (C++)} {Places}
\li Searching for and managing points of interest.
\row
- \li \l {Qt Location GeoServices}{Geoservices and Positioning Plugin Implementation}
+ \li \l {Qt Location GeoServices}{Geoservices Plugin Implementation}
\li Implement new geoservices and positioning plugins.
\endtable
-\section1 Positioning Classes
-
- \annotatedlist QtLocation-positioning
-
-
\section1 Geoservice Provider Classes
\annotatedlist QtLocation-common
@@ -76,6 +67,8 @@ Qt Location C++ API.
\section1 Maps and Navigation Classes
+Currently it is not possible to interact with maps data via C++. The only available interface is the \l {Maps and Navigation (QML)} API.
+
\annotatedlist QtLocation-maps
\annotatedlist QtLocation-routing
diff --git a/src/location/doc/src/qtlocation-geoservices.qdoc b/src/location/doc/src/qtlocation-geoservices.qdoc
index 7adb9b18..85c96b0f 100644
--- a/src/location/doc/src/qtlocation-geoservices.qdoc
+++ b/src/location/doc/src/qtlocation-geoservices.qdoc
@@ -33,29 +33,59 @@
The Qt Location provides the majority of its functionality through GeoService plugins. This
document outlines how to develop a new GeoService plugin.
+\section1 Plugin description
+
+Each plugin is described by a json file. The json describes the plugins capabilities and
+version. Below is an example of a json file used by the OpenStreenMap plugin:
+
+
+\quotefile ../../../plugins/geoservices/osm/osm_plugin.json
+
+The entries have the following meaning:
+
+\table
+ \header
+ \li Key
+ \li Description
+ \row
+ \li Keys
+ \li The unique name/key of the plugin. Each GeoService plugin must have a unique name.
+ \row
+ \li Provider
+ \li The provider name of the services. Multiple plugins may have the same name.
+ In such cases the Version string will be used to further distinguish the plugins.
+ \row
+ \li Experimental
+ \li Marks the service plugin as experimental. API developers may choose to ignore
+ such plugins when instanciating \l QGeoServiceProvider::QGeoServiceProvider().
+ \row
+ \li Version
+ \li The plugin version. If multiple plugins have the same provider name, the plugin
+ with the higest version will be used.
+ \row
+ \li Features
+ \li List of features provided by the plugin/service. Each feature is a string
+ representation of the corresponding features in \l QGeoServiceProvider. For more
+ details see \l QGeoServiceProvider::routingFeatures(),
+ \l QGeoServiceProvider::geocodingFeatures() and \l QGeoServiceProvider::placesFeatures().
+
+\endtable
+
\section1 Implementing Plugins
A plugin implementer needs to subclass QGeoServiceProviderFactory and as
many of the ManagerEngine classes as they want to provide implementations for.
-Subclassing QGeoServiceProviderFactory will only involve exposing a name and
-a version by overriding QGeoServiceProviderFactory::providerName() and
-QGeoServiceProviderFactory::providerVersion(), and overriding
-QGeoServiceProviderFactory::createSearchManagerEngine(),
-QGeoServiceProviderFactory::createMappingManagerEngine() and
-QGeoServiceProviderFactory::createRoutingManagerEngine() as appropriate.
-
-\section3 Tile-Based Map Convenience Classes
-
-Most of the current tile based mapping APIs are very similar, and so we
-provide a number of classes intended to make writing tile based mapping
-plugins much simpler.
+Subclassing QGeoServiceProviderFactory will only involves overriding of one of the following
+methods:
-If the Mercator projection and the most common tile addressing scheme is used this will mainly
-involve subclassing QGeoTiledMappingManagerEngine and providing an implementation of
-QGeoTiledMappingManagerEngine::getTileImage().
+\list
+ \li \l QGeoServiceProviderFactory::createGeocodingManagerEngine()
+ \li \l QGeoServiceProviderFactory::createRoutingManagerEngine()
+ \li \l QGeoServiceProviderFactory::createPlaceManagerEngine()
+\endlist
-\section1 GeoService Classes
+If a plugin does not provide an engine the relevant function should return 0.
\annotatedlist QtLocation-impl
diff --git a/src/location/doc/src/qtlocation-qml.qdoc b/src/location/doc/src/qtlocation-qml.qdoc
index 351552de..a24820bd 100644
--- a/src/location/doc/src/qtlocation-qml.qdoc
+++ b/src/location/doc/src/qtlocation-qml.qdoc
@@ -40,22 +40,9 @@ statement in the QML file.
\section2 Location QML Concepts
-Position information can come from a variety of sources including satellites,
-wifi, text files and so on. The position is described by the latitude,
-the longitude, and the altitude in meters. For more information see
-\l {http://en.wikipedia.org/wiki/Geographic_coordinate}{Geographic Coordinate}.
-
-The QML position is stored in a \l {coordinate} which contains the
-latitude, longitude and altitude of the device. The \l {QtLocation5::Location}{Location} contains
-this \l {coordinate} and adds an address, it also has a bounding box which
-defines the recommended viewing region when displaying the location.
-
-Now that the device has a position, with regular updates the API can determine
-the speed and heading of the device. It can also define a box or a circle that can
-produce a notification when the device either leaves or enters that region.
-
-Adding a \l {QtLocation5::Map}{Map} with positions of interest and
-\l {QtLocation5::Place}{Places}, then the device can be made aware of nearby features and related
+Provided that a position has been obtained this module can
+add a \l {QtLocation5::Map}{Map} with positions of interest and
+\l {QtLocation5::Place}{Places}. The user can be made aware of nearby features and related
information, displayed graphically. Features on the \l Map may be places of business, entertainment
and so on. They may include paths, roads, or forms of transport leading so that
navigation optimization and assistance are possible.
@@ -101,9 +88,6 @@ API.
\table
\row
- \li \l {Positioning (QML)}{Location Positioning}
- \li Retrieving information about the current position.
- \row
\li \l {Maps and Navigation (QML)}{Maps and Navigation}
\li Displaying maps and finding routes.
\row
@@ -111,18 +95,10 @@ API.
\li Searching for and managing points of interest.
\endtable
-\section1 Basic Types
-
-\annotatedlist qml-QtLocation5-basictypes
-
\section1 Common QML Types
\annotatedlist qml-QtLocation5-common
-\section1 Positioning QML Types
-
-\annotatedlist qml-QtLocation5-positioning
-
\section1 Maps QML Types
\annotatedlist qml-QtLocation5-maps
diff --git a/src/location/doc/src/qtlocation.qdoc b/src/location/doc/src/qtlocation.qdoc
index 06cd6d58..dc3fc14d 100644
--- a/src/location/doc/src/qtlocation.qdoc
+++ b/src/location/doc/src/qtlocation.qdoc
@@ -50,9 +50,7 @@
The .pro file should have the \e location keyword added
- \code
- QT += location
- \endcode
+ \code QT += location \endcode
See more in the \l{Qt Location}{Qt Location Overview}.
@@ -98,25 +96,12 @@ for example applications using routes may use
The .pro file should have the \e location keyword added
-\code
- QT += location
-\endcode
+\code QT += location \endcode
\section2 API Sub-Modules
-The API is split into three core sub-modules, which each have QML and C++
-APIs.
-
-\section3 Positioning
-Positioning includes all the functionality necessary to find and work with geographic
-coordinates. It can use a variety of external sources of information, including GPS. This
-provides us with a coordinate and altitude for the device with additional features
-such as speed and direction. This provides the fundamental location information used in the API.
-\table
-\row
- \li Positioning introduction:
- \li \l{Positioning (QML)}{for QML}
- \li \l{Positioning (C++)}{for C++}
-\endtable
+The API is split into sub-modules, which each have QML and C++ APIs. It focuses on
+Map and Place information. The required position data can be retrieved via the
+\l {QtPositioning} module.
\section3 Places
Places is