Qt Location

The Qt Location module helps you create mapping solutions using data available from popular location service providers, such as Open Street Map.

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.

Using the Module

QML API

To use the types, add the following import statements to your .qml file:

import QtPositioning
import QtLocation

Note: Many Qt Location QML module APIs are using types from the Qt Positioning module. For example, defining a coordinate to be the center of the map requires types from the Qt Positioning module.

C++ API

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

#include <QGeoRoute>

Using a Qt module's C++ API requires linking against the module library, either directly or through other dependencies. Several build tools have dedicated support for this, including CMake and qmake.

Building with CMake

Use the find_package() command to locate the needed module component in the Qt6 package:

find_package(Qt6 REQUIRED COMPONENTS Location)
target_link_libraries(mytarget PRIVATE Qt6::Location)

For more details, see the Build with CMake overview.

Building with qmake

To configure the module for building with qmake, add the module as a value of the QT variable in the project's .pro file:

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 QMLfor 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 QMLfor C++

Examples

Example AppsExamples demonstrating use of the Qt Location APIs
Maps and Navigation TutorialTutorial introducing the QML Maps Types

API Reference

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

QML API ReferenceFull list of QML components in the Qt Location API
C++ API Reference by domainFull list of C++ classes and methods of the Qt Location APIs sorted by domain
C++ API ReferenceFull list of C++ classes and methods of the Qt Location APIs

Plugin References and Parameters

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

Qt Location Items Overlay Plugin

Provides an empty map intended to be used as background for an overlay layers for map items.

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.

GeoServicesInformation about the Qt Location GeoServices plugins
PlacesInformation for places backend implementors
API changesInformation about porting from Qt 5 to Qt 6

Licenses

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.

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.