Qt Location

Qt Location 模块帮助您利用来自流行的地理位置服务提供商(如Open Street Map)的数据创建地图解决方案。

Qt Location API 允许您:

  • 访问和展示地图数据。
  • 在地图的特定区域支持触摸手势。
  • 查询特定地理位置和路线。
  • 添加额外的层,例如折线和多边形。
  • 搜索地点和相关图片。

使用模块

QML API

为了使用这些类型,请将以下导入语句添加到您的 .qml 文件中

import QtPositioning
import QtLocation

注意:许多 Qt Location QML 模块 API 正在使用来自 Qt 位置模块的类型。例如,将坐标定义为地图中心需要 Qt 位置模块的类型。

C++ API

对于 C++ 项目,包括适用于当前用例的相应头文件;例如,使用路线的应用程序可能使用

#include <QGeoRoute>

使用 Qt 模块的 C++ API 需要直接或通过其他依赖项链接到模块库。几个构建工具有专门的对此的支持,包括CMakeqmake

使用 CMake 构建

使用 find_package() 命令来定位 Qt6 包中所需的模块组件

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

有关更多详细信息,请参阅使用 CMake 构建概述。

使用 qmake 构建

为了使用 qmake 构建,将模块添加为项目 .pro 文件中 QT 变量的值

QT += location

子模块

API 被拆分成了子模块,为特定目的提供 QML 和 C++ 接口。它们主要关注地图和地点信息。所需的位置数据可以使用QtPositioning 模块检索。

地点

地点子模块是定位的自然补充,提供有关兴趣地点(POI)的地理数据的来源。除了来源信息,API 还提供有关 POI 的位置、大小以及其他相关信息。地点 API 还可以检索与地点相关的图片、评论和其他内容。

地点简介针对 QML针对 C++

地图和导航

本模块提供了地图和导航的 QML 和 C++ 替代方案。C++ 替代方案提供实用类,以获取地理编码(从街道地址中查找地理坐标)和导航(包括驾驶和步行路线)信息,而其 QML 相当部分提供 UI 组件以渲染这些信息。

地图和导航简介针对 QML针对 C++

示例

示例应用演示使用 Qt 位置 API 的示例
地图和导航教程教程介绍了 QML 地图类型

API 参考

以下列出了模块提供的类和 UI 组件,以及示例应用来展示其用法

QML API 参考Qt 位置 API 中的完整 QML 组件列表
按领域分组的 C++ API 参考按领域排序的 Qt 位置 API 的完整 C++ 类和方法列表
C++ API 参考Qt 位置 API 的完整 C++ 类和方法列表

插件引用和参数

有关插件的信息,其使用的重要注意事项,可以向其提供的参数,以影响其行为。

Qt 位置项目重叠插件

提供了一个空的地图,旨在用作地图项目重叠层背景。

Qt 位置开放街图插件

使用开放街图和相关服务。

实现新的后端和移植

对于系统集成商和分销商,有关使 Qt 位置适用于新平台的相关信息。

GeoServices有关 Qt 位置 GeoServices 插件的信息
地点为地点后端实现者提供信息
API 变更有关从 Qt 5 移植到 Qt 6 的信息

许可

Qt 位置可在来自 Qt 公司 的商业许可下使用。此外,它根据 GNU 少量通用公共许可证,版本 3GNU 通用公共许可证,版本 2 提供。有关更多详情,请参阅 Qt 许可

© 2024 Qt 公司有限公司。本文件中包含的文档贡献者的版权。本文件提供的文档根据 Free Software Foundation 发布的 GNU 自由文档许可证版本 1.3 的条款提供许可。Qt 及其相应标志是芬兰的 Qt 公司和/或在其他全球国家的商标。所有其他商标均为其各自所有者的财产。