Qt Location
Qt Location 模块可帮助您使用流行的位置服务提供商(如Open Street Map)提供的数据创建地图解决方案。
Qt Location API 使您能够
- 访问和展示地图数据。
- 支持地图特定区域的触摸手势。
- 查询特定地理位置和路线。
- 在地图上添加其他图层,如折线和圆。
- 搜索地点和相关图片。
使用模块
QML 应用程序接口
要使用这些类型,请在.qml
文件中添加以下导入语句:
import QtPositioning import QtLocation
注: 许多Qt Location QML 模块 API 都使用了Qt Positioning 模块中的类型。例如,将坐标定义为地图中心需要使用Qt Positioning 模块中的类型。
C++ 应用程序接口
对于 C++ 项目,请包含适合当前用例的头文件;例如,使用 routes 的应用程序可能会使用.NET:
#include <QGeoRoute>
使用 Qt 模块的 C++ API 需要直接或通过其他依赖关系与模块库链接。包括CMake和qmake 在内的多个构建工具都为此提供了专门支持。
使用 CMake 构建
使用find_package()
命令在Qt6
软件包中找到所需的模块组件:
find_package(Qt6 REQUIRED COMPONENTS Location) target_link_libraries(mytarget PRIVATE Qt6::Location)
更多详情,请参阅使用 CMake 构建概述。
使用 qmake 构建
要配置模块以便用 qmake 构建,请在项目的 .pro 文件中添加模块作为QT
变量的值:
QT += location
子模块
应用程序接口分为多个子模块,它们为特定用途提供 QML 和 C++ 接口。它们主要侧重于地图和地点信息。所需位置数据可通过QtPositioning 模块获取。
位置
地点子模块是定位功能的自然补充,它提供了有关兴趣点(POI)的地理数据源。除源信息外,API 还提供有关 POI 的位置、大小和其他相关信息。地点 API 还可以检索与地点相关的图片、评论和其他内容。
地图和导航
该模块为地图和导航提供了 QML 和 C++ 选项。C++ 替代方案提供了用于获取地理编码(从街道地址查找地理坐标)和导航(包括驾驶和步行方向)信息的实用程序类,而其 QML 对应方案则提供了用于呈现信息的用户界面组件。
实例
API 参考
下面列出了该模块提供的类和 UI 组件,并附有演示其用法的示例应用程序:
QML API Reference | Qt Location API 中 QML 组件的完整列表 |
按领域划分的 C++ API 参考 | 按领域分类的Qt Location API 的 C++ 类和方法完整列表 |
C++ API Reference | Qt Location API 的 C++ 类和方法完整列表 |
插件参考和参数
有关插件的信息、使用注意事项以及可影响其行为的参数。
提供一个空地图,用作地图项目覆盖图层的背景。 | |
使用开放式街道地图和相关服务。 |
实施新的后端和移植
为系统集成商和分销商提供有关Qt Location 可用于新平台的信息。
许可证
Qt Location Qt 6 是根据The Qt Company 的商业许可证提供的。此外,它还可以在GNU Lesser General Public License 第 3 版或GNU General Public License 第 2 版下使用。更多详情,请参阅Qt Licensing。
© 2025 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.