卫星源 QML 类型
卫星源类提供了卫星信息。 更多...
导入语句 | import QtPositioning |
自 | Qt 6.5 |
属性
- active : bool
- name : string
- parameters : list<PluginParameter>
- satellitesInUse : list<geoSatelliteInfo>
- satellitesInView : list<geoSatelliteInfo>
- sourceError : enumeration
- updateInterval : int
- valid : bool
方法
- var backendProperty(string name)
- bool setBackendProperty(string name, var value)
- start()
- stop()
- update(int timeout)
详细描述
卫星源类提供关于正在使用以及可视卫星的信息。此类是 QGeoSatelliteInfoSource 的 QML 表示。
与它的 C++ 相当,该类支持不同的插件。使用 name 属性来指定要使用的插件名称,并提供所需时 PluginParameter,如果需要。如果未设置 name 属性,将使用默认插件。有关可用的插件的更多信息,请参阅 Qt 定位插件。
使用 valid 属性来检查 SatelliteSource 状态。
使用 updateInterval 属性来指示应用程序希望多久接收一次卫星信息更新。可以使用 start()、stop() 和 update() 方法来控制 SatelliteSource 的操作,以及 active 属性,当设置时等同于调用 start() 或 stop()。
当 satelliteSource 活动 时,可以通过 satelliteInView 和 satelliteInUse 属性来检索卫星信息更新。
如果在卫星信息更新过程中发生错误,可以使用 sourceError 属性来获取实际的错误代码。
示例用法
以下示例展示了一个卫星源,它使用 NMEA 插件每秒接收卫星信息更新,并将可视卫星数量和使用卫星数量打印到控制台。
SatelliteSource { id: source name: "nmea" active: true updateInterval: 1000 PluginParameter { name: "nmea.source"; value: "serial:/dev/ttyACM0" } onSatellitesInUseChanged: { console.log("Satellites in use:", source.satellitesInUse.length) } onSatellitesInViewChanged: { console.log("Satellites in view:", source.satellitesInView.length) } }
另请参阅QGeoSatelliteInfoSource,PluginParameter 和 geoSatelliteInfo。
属性文档
active : bool |
name : string |
此属性包含当前提供卫星信息的插件的唯一内部名称。
设置此属性会导致 SatelliteSource 使用特定的后端插件。如果在将 name 属性更改时 SatelliteSource 正在活动,它将变为不活动。如果指定的后端无法加载,卫星源将无效。
更改 name 属性可能会导致 updateInterval 属性也发生变化。
parameters : list<PluginParameter> |
此属性包含插件参数的列表。
另请参阅PluginParameter。
satellitesInUse : list<geoSatelliteInfo> |
此属性包含当前正在使用的卫星列表。这些是用于获得“定位”的卫星,即确定当前位置所使用的卫星。
satellitesInView : list<geoSatelliteInfo> |
此属性包含当前在视线的卫星列表。
sourceError : enumeration |
此属性包含与后端数据提供程序发生最后错误的错误。
- SatelliteSource.AccessError - 应用程序缺少所需的权限,卫星后端连接设置失败。
- SatelliteSource.ClosedError - 卫星后端关闭了连接,例如当用户将位置服务切换到关闭时。
- 卫星源.无错误 - 未发生错误。
- 卫星源.未知源错误 - 发生了一个无法识别的错误。
- 卫星源.更新超时错误 - 未能在指定超时时间内检索到卫星信息。
updateInterval : int |
该属性以毫秒为单位保存所需的更新间隔。
valid : bool |
如果 卫星源 对象已获取有效的后端插件以提供数据,则该属性为 true
,否则为 false
。
应用程序应检查此属性以确定是否可以在运行时平台上提供并启用卫星信息,并根据需要进行响应。
方法文档
如果有,则返回名为 name 的后端特定属性的值。如果没有,包括在未初始化的 卫星源 上调用时,返回值将是无效的。
另请参阅setBackendProperty().
将名为 name 的后端特定属性设置为 value。如果成功,则返回 true,否则返回 false,包括在未初始化的 卫星源 上调用。
另请参阅backendProperty().
start() |
从卫星源请求更新。如果已设置,则使用 updateInterval,否则使用默认间隔。如果没有可用源,则此方法没有任何效果。
update(int timeout = 0) |