Revision control

Copy as Markdown

// Copyright (C) 2019 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\module QtPositioning
\title Qt Positioning C++ Classes
\ingroup modules
\qtcmakepackage Positioning
\qtvariable positioning
\brief The Positioning module provides positioning information via QML and C++ interfaces.
To load the Qt Positioning module, add the following statement to your .qml files
\snippet doc_src_qtpositioning.qml import
For C++ projects include the header appropriate for the current use case,
for example applications using routes may use
\code
#include <QGeoCoordinate>
\endcode
\include module-use.qdocinc using qt module
\badcode
find_package(Qt6 REQUIRED COMPONENTS Positioning)
target_link_libraries(mytarget PRIVATE Qt6::Positioning)
\endcode
\include module-use.qdocinc building with qmake
\badcode
QT += positioning
\endcode
See more in the \l{Qt Positioning}{Qt Positioning Overview}.
*/
/*!
\page qtpositioning-index.html
\title Qt Positioning
\brief The Qt Positioning API provides positioning information via QML and C++ interfaces.
\ingroup technology-apis
The Qt Positioning API provides positioning information via QML and C++ interfaces.
Currently, the API is supported on \l {Qt for Android}{Android},
\l {Qt for iOS}{iOS}, \l {Qt for macOS}{\macos}, \l {Qt for Linux}{Linux},
and \l {Qt for Windows}{Windows} (with GPS receivers exposed as a serial port
providing NMEA sentences or using \c {Windows.Devices.Geolocation}).
\section1 Overview
The Qt Positioning API lets you to determine a position by using a variety of
possible sources, including satellite, wifi, or text files. That information can
then be used to, for example, determine a position on a map. In addition, you
can use to the API to retrieve satellite information and perform area based
monitoring.
\section1 Using the Module
\section2 QML API
\include {module-use.qdocinc} {using the qml api} {QtPositioning}
\section2 C++ API
\include {module-use.qdocinc} {using the c++ api}
\section3 Building with CMake
\include {module-use.qdocinc} {building with cmake} {Positioning}
\section3 Building with qmake
\include {module-use.qdocinc} {building_with_qmake} {positioning}
\section1 Permissions
Starting from Qt 6.6, the Qt Positioning module uses new \l QPermission API
to handle \l {QLocationPermission}{location} permissions. This means that Qt
itself no longer queries for these permissions, so this needs to be done
directly from the client application.
Please refer to the \l {Application Permissions} page for an example of how
to integrate the new \l QPermission API into the application.
\section1 Articles and Guides
\list
\li \l {Positioning (C++)} {Positioning introduction for C++}
\li \l {Positioning (QML)} {Positioning introduction for QML}
\li \l {Qt Positioning Plugins}
\li \l {Interfaces between C++ and QML Code in Qt Positioning}
\li \l {Qt Positioning on Android}
\li \l {Qt Positioning on iOS}
\endlist
\section1 Examples
\list
\li \l {Qt Positioning Examples}
\endlist
\section1 Reference
\list
\li \l {Qt Positioning C++ Classes}
\li \l {Qt Positioning QML Types}
\endlist
\section1 Module Evolution
\l {Changes to Qt Positioning} lists important changes in the module API and
functionality that were done for the Qt 6 series of Qt.
\section1 Licenses
Qt Positioning is available under commercial licenses from \l{The Qt Company}.
In addition, it is available under free software licenses. Since Qt 5.4,
these free software licenses are
\l{GNU Lesser General Public License, version 3}, or
the \l{GNU General Public License, version 2}.
See \l{Qt Licensing} for further details.
*/