Qt Positioning

Qt Positioning API 憑藉 QML 和 C++ 接口提供位置信息。

目前,API 支持 Android , iOS , macOS , Linux ,和 Windows (采用將 GPS 接收器暴露成串口提供 NMEA 句子或使用 Windows.Devices.Geolocation ).

概述

Qt Positioning API 允許通過使用各種可能的源 (包括衛星、wifi 或文本文件) 來確定位置。然後,可以使用該信息 (例如:確定地圖位置)。此外,可以使用 API 以檢索衛星信息並履行基於區域的監視。

使用模塊

QML API

模塊的 QML 類型是可用的透過 QtPositioning 導入。要使用類型,添加以下 import 語句到 .qml 文件:

import QtPositioning
					

C++ API

使用 Qt 模塊的 C++ API 要求直接 (或透過其它依賴) 鏈接到模塊庫。幾個構建工具對此有專用支持,包括 CMake and qmake .

構建采用 CMake

使用 find_package() 命令定位所需模塊組件在 Qt6 包:

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

更多細節,見 構建采用 CMake 概述。

采用 qmake 構建

要配置采用 qmake 構建模塊,添加模塊作為值為 QT 變量在工程的 .pro 文件:

QT += positioning
					

權限

從 Qt 6.6 開始,Qt Positioning 模塊使用新 QPermission API 處理 location 權限。這意味著 Qt 自身不再查詢這些權限,所以,做到這需要直接從客戶端應用程序。

請參考 應用程序權限 頁瞭解範例如何集成新 QPermission API 進應用程序。

文章和指南

範例

參考

模塊演變

Qt Positioning 的變化 列齣瞭 Qt 的 Qt 6 係列在模塊 API 和功能上所做齣的重要改變。

許可

Qt Positioning 在商業許可下是可用的來自 Qt 公司 。此外,它在自由軟件許可下也是可用的。從 Qt 5.4 起,這些自由軟件許可是 GNU LGPL (次一般公共許可) 第 3 版 ,或 GNU GPL (一般公共許可) 第 2 版 。見 Qt 許可 進一步瞭解細節。