/****************************************************************************
**
** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** 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 The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/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: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/




/*!
    \module QtLocation
    \title Qt Location C++ Classes
    \ingroup modules
    \qtvariable location

    \brief Provides C++ interfaces to retrieve location and navigational
    information.

    The C++ API provides access to geocoding and navigation information,
    and also place search. Use the \l{Maps and Navigation (QML)}{QML}
    API to render this information on an interactive map that supports
    touch gestures, overlays, and so on.

    Include the appropriate header in your C++ code. For example,
    applications using routes can include:

    \code #include <QGeoRoute> \endcode

    Add the \e location keyword in the project file to link against the
    Qt Location library:

    \code QT += location \endcode

    See more in the \l{Qt Location}{Qt Location Overview}.

*/



/*!
\page qtlocation-index.html
\title Qt Location
\brief Provides QML and C++ interfaces to create location-aware
applications.
\ingroup technology-apis

The Qt Location API helps you create viable mapping solutions using the data
available from some of the popular location services.

\section1 Overview

The Qt Location API enables you to:
\list
  \li access and present map data,
  \li support touch gesture on a specific area of the map,
  \li query for a specific geographical location and route,
  \li add additional layers on top, such as polylines and circles,
  \li and search for places and related images.
\endlist

\section1 Getting Started

To load the Qt Location module, add the following statement to your .qml files

\code
    import QtPositioning 5.5
    import QtLocation 5.6
\endcode

The QtLocation QML module depends on the QtPositioning QML module.
Therefore every QML application that imports the QtLocation QML module must always
import the QtPositioning module as well.

For C++ projects include the header appropriate for the current use case,
for example applications using routes may use

\code #include <QGeoRoute> \endcode

The .pro file should have the \e location keyword added

\code QT += location \endcode

\section2 Submodules

The API is split into sub-modules, which provide QML and C++ interfaces for
specific purposes. They focus mainly on Map and Place information. The required
position data can be retrieved using the \l {QtPositioning} module.

\section3 Places

The Places submodule is the natural complement to Positioning, providing a
source of geographical data about Places of Interest (POI). Besides the source
information, the API provides information about the location, size, and
other related information about a POI. The Places API can also
retrieve images, reviews, and other content related to a place.

\table
\row
    \li Places introduction:
    \li \l{QML Places API}{for QML}
    \li \l{Places (C++)}{for C++}
\endtable

\section3 Maps and Navigation

The module provides the QML and C++ alternatives for maps and navigation.
The C++ alternative provides utility classes to get geocoding (finding a geographic
coordinate from a street address) and navigation (including driving and walking
directions) information, whereas its QML counterpart provides UI components to render
the information.

\table
\row
\li Maps and Navigation introduction:
    \li \l{Maps and Navigation (QML)}{for QML}
    \li \l{Maps and Navigation (C++)}{for C++}
\endtable

\section1 API References and Examples

The following are lists of the classes and UI components provided by the module,
with example applications to demonstrate their usage:

\table
    \row
        \li \l {Qt Location QML Types}{QML API Reference}
        \li Full list of QML components in the Qt Location API
    \row
        \li \l {Qt Location C++ API}{C++ API Reference by domain}
        \li Full list of C++ classes and methods of the Qt Location APIs sorted by domain
    \row
        \li \l {Qt Location C++ Classes}{C++ API Reference}
        \li Full list of C++ classes and methods of the Qt Location APIs
    \row
        \li \l {Qt Location Examples}{Example Apps}
        \li Examples demonstrating use of the Qt Location APIs
     \row
        \li \l {QML Maps}{Maps and Navigation Tutorial}
        \li Tutorial introducing the QML Maps Types
\endtable

\section1 Plugin References and Parameters

Information about plugins, important notes on their usage, parameters that can
be provided to influence their behavior.

\annotatedlist QtLocation-plugins

\section2 Implementing New Back-Ends and Porting

For systems integrators and distributors, information related to making
Qt Location available for a new platform.

\table
    \row
        \li \l {Qt Location GeoServices}{GeoServices}
        \li Information about the Qt Location GeoServices plugins
    \row
        \li \l {Places Backend} {Places}
        \li Information for places backend implementors
    \row
        \li \l {Qt Location QML API changes since 5.4}{API changes}
        \li Information about QML API changes since 5.4
\endtable

    \section1 Licenses and Attributions

    Qt Location is available under commercial licenses from \l{The Qt Company}.
    In addition, it is available under the
    \l{GNU Lesser General Public License, version 3}, or
    the \l{GNU General Public License, version 2}.
    See \l{Qt Licensing} for further details.

    Furthermore Qt Location potentially contains third party
    modules under following permissive licenses:

    \generatelist{groupsbymodule attributions-qtlocation}
*/
