Qt Location

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

概述

Qt Location API 能够:

  • 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,
  • and search for places and related images.

快速入门

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

import QtPositioning 5.15
import QtLocation 5.15
							

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>
							

.pro 文件应有 location 添加关键词

QT += location
							

子模块

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 模块。

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 参考和范例

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

插件参考和参数

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 插件

Uses Mapbox GL for location services.

Qt Location Mapbox Plugin

Uses Mapbox for location services.

Qt Location 开放式街道地图插件

Uses Open Street Map and related services.

实现新的后端和移植

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 变化 Information about QML API changes since 5.4

许可和归属

Qt Location 在商业许可下是可用的来自 Qt 公司 。此外,它是可用的在 GNU LGPL (次一般公共许可) 第 3 版 ,或 GNU GPL (一般公共许可) 第 2 版 。见 Qt 许可 进一步了解细节。

此外,Qt Location 潜在包含的第 3 方模块遵循以下准许许可:

Boost

Boost 软件许可 1.0

CSS 颜色剖析器

MIT 许可

Clip2Tri Polygon Triangulation Library

MIT 许可

Clipper Polygon Clipping Library, version 6.4.0

Boost 软件许可 1.0

Earcut

ISC 许可

Earcut 多边形三角测量库

ISC 许可

Mapbox GL Native

BSD 2 条款简化许可

Poly2Tri Polygon Triangulation Library

BSD 3 条款新 (或修订) 许可

RapidJSON

MIT 许可

Vector Tile Library

ISC 许可

Wagyu Geometry Processing Library

MIT 许可

cURL 剖析日期

MIT 许可

geojson-cpp

ISC 许可

geojson-vt-cpp

ISC 许可

geometry.hpp

ISC 许可

geosimplify-js polyline simplification library

geosimplify-js 许可

kdbush.hpp

ISC 许可

libc++

MIT and UIUC (BSD-like)

nunicode

MIT 许可

polylabel

ISC 许可

protozero

BSD 2 条款简化许可

shelf-pack-cpp

ISC 许可

supercluster.hpp

ISC 许可

tao_tuple

MIT 许可

unique_resource

Boost 软件许可 1.0

variant

BSD 3 条款新 (或修订) 许可