定位(QML)
位置定位
位置数据涉及地球表面上一个精确指定的位置——由经纬度坐标提供——以及相关数据,例如:
- 报告该位置的日期和时间
- 报告该位置的设备速度
- 报告位置的海拔高度(海拔高度)
- 设备相对于真北的方位角(以度为单位)
更多信息请参见“地理坐标”。
这些数据可以通过多种方法提取。最著名的定位方法之一是 GPS(全球定位系统),这是一个公开可用的系统,它利用从地球轨道卫星接收的无线电波信号来计算接收器的精确位置和时间。 另一种常见的方法是“基站识别定位”,它利用当前为接收设备提供服务的基站的基站识别码来计算其大致位置。 这些以及其他定位方法均可与“位置 API”配合使用;API 内对位置数据源的唯一要求是,它必须提供带有日期/时间值的经纬度坐标,并可选择提供上述列出的其他属性。
坐标
geoCoordinate 类型提供坐标,即地理信息的基本单位。它具有用于存储latitude 、longitude 和altitude 的属性。Location 除了包含geoCoordinate 外,还包含物理地址和边界框。另请参阅:retrieving a location
位置
除了用于存储对象三维位置的geoCoordinate 之外,Position 类型还提供了speed 和timestamp ,用于计算未来位置。Position 会验证这些属性的合理性,这些属性以以下形式暴露:
PositionSource 类型
我们有Position 和geoCoordinate 类型,但数据从何而来?能够指定替代数据源也很有用。也许与其直接接收 GPS 卫星信号,使用数据文件进行测试会更合适。
PositionSource 类型允许开发者在平台允许的范围内,自主控制地理数据的来源。PositionSource 则支持多种插件,包括NMEA插件。
NMEA是一种用于指定导航数据的常见文本协议。PositionSource 的NMEA插件支持多种数据源,包括原始文件或 TCP 套接字。数据源将根据每条 NMEA 语句的时间戳发送更新,从而对记录的数据进行“重放”。
请参阅插件说明以获取使用示例。
卫星信息示例
“卫星信息”示例使用PositionSource 和SatelliteSource 这两种 QML 类型来获取与当前位置相关的卫星信息。
© 2026 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.