- Qt 5.15
- Qt Location
- Qt 5.15.18 Reference Documentation

# Qt Location

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

## Overview

The Qt Location API enables you to:

- Access and present map data.
- Support touch gesture on a specific area of the map.
- Query for a specific geographical location and route.
- Add additional layers on top, such as polylines and circles.
- Search for places and related images.

## Getting Started

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

     import QtPositioning 5.15
     import QtLocation 5.15

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

     #include <QGeoRoute>

The .pro file should have the location keyword added

     QT += location

### 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 QtPositioning module.

#### 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.

Places introduction: | for QML | for C++

#### 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.

Maps and Navigation introduction: | for QML | for C++

## 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:

QML API Reference | Full list of QML components in the Qt Location API
C++ API Reference by domain | Full list of C++ classes and methods of the Qt Location APIs sorted by domain
C++ API Reference | Full list of C++ classes and methods of the Qt Location APIs
Example Apps | Examples demonstrating use of the Qt Location APIs
Maps and Navigation Tutorial | Tutorial introducing the QML Maps Types

## Plugin References and Parameters

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

Qt Location Esri Plugin | Uses Esri for location services.
Qt Location HERE Plugin | Uses the relevant services provided by HERE.
Qt Location Items Overlay Plugin | Provides an empty map intended to be used as background for an overlay layers for map items.
Qt Location Mapbox GL Plugin | Uses Mapbox GL for location services.
Qt Location Mapbox Plugin | Uses Mapbox for location services.
Qt Location Open Street Map Plugin | Uses Open Street Map and related services.

### Implementing New Back-Ends and Porting

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

GeoServices | Information about the Qt Location GeoServices plugins
Places | Information for places backend implementors
API changes | Information about QML API changes since 5.4

## Licenses and Attributions

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

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

Boost, version 1.65.1 | Boost Software License 1.0
CSS Color Parser | MIT License
Clip2Tri Polygon Triangulation Library | MIT License
Clipper Polygon Clipping Library, version 6.4.0 | Boost Software License 1.0
Earcut Polygon Triangulation Library | ISC License
Earcut, version 0.12.4 | ISC License
Mapbox GL Native | BSD 2-clause "Simplified" License and zlib License
Optional | Boost Software License 1.0
Poly2Tri Polygon Triangulation Library | BSD 3-clause "New" or "Revised" License
RapidJSON, version 1.1.0 | MIT License
Vector Tile Library, version 1.0.2 | ISC License
Wagyu Geometry Processing Library, version 0.4.3 | MIT License
cURL Parse Date | MIT License
geojson-cpp, version 0.4.2 | ISC License
geojson-vt-cpp, version 6.5.1 | ISC License
geometry.hpp, version 0.9.3 | ISC License
geosimplify-js polyline simplification library | geosimplify-js License
kdbush.hpp, version 0.1.1-1 | ISC License
nunicode, version 1.8 | MIT License
polylabel, version 1.0.3 | ISC License
protozero, version 1.5.2 | BSD 2-clause "Simplified" License
shelf-pack-cpp, version 2.1.1 | ISC License
supercluster.hpp, version 0.2.2 | ISC License
tao_tuple, version 28626e99 | MIT License
unique_resource, version cba309e | Boost Software License 1.0
variant, version 1.1.4 | BSD 3-clause "New" or "Revised" License