卫星源 QML 类型

卫星源类提供了卫星信息。 更多...

导入语句import QtPositioning
Qt 6.5

属性

方法

详细描述

卫星源类提供关于正在使用以及可视卫星的信息。此类是 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)
    }
}

另请参阅QGeoSatelliteInfoSourcePluginParametergeoSatelliteInfo

属性文档

active : bool

此属性指示卫星源是否活动。将此属性设置为 false 等于调用 stop,将此属性设置为 true 等于调用 start

另请参阅startstopupdate


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

应用程序应检查此属性以确定是否可以在运行时平台上提供并启用卫星信息,并根据需要进行响应。


方法文档

var backendProperty(string name)

如果有,则返回名为 name 的后端特定属性的值。如果没有,包括在未初始化的 卫星源 上调用时,返回值将是无效的。

另请参阅setBackendProperty().


bool setBackendProperty(string name, var value)

将名为 name 的后端特定属性设置为 value。如果成功,则返回 true,否则返回 false,包括在未初始化的 卫星源 上调用。

另请参阅backendProperty().


start()

从卫星源请求更新。如果已设置,则使用 updateInterval,否则使用默认间隔。如果没有可用源,则此方法没有任何效果。

另请参阅stopupdateactive


stop()

停止来自卫星源的更新。如果没有可用源或它不活跃,则此方法没有任何效果。

另请参阅startupdateactive


update(int timeout = 0)

这是一个方便的方法,可从卫星源请求一次更新。如果没有可用源,则此方法没有任何效果。

如果卫星源不活跃,则将其激活,直到收到更新或请求超时( whichever is sooner)。请求超时时间由插件指定。

timeout 以毫秒为单位指定。如果 timeout 为零(默认值),则默认为适合源的一个合理的超时时间。

另请参阅startstopactive