SatelliteSource QML Type
Die SatelliteSource-Klasse liefert die Satelliteninformationen. Mehr...
Import Statement: | import QtPositioning |
Since: | Qt 6.5 |
Eigenschaften
- active : bool
- name : string
- parameters : list<PluginParameter>
- satellitesInUse : list<geoSatelliteInfo>
- satellitesInView : list<geoSatelliteInfo>
- sourceError : enumeration
- updateInterval : int
- valid : bool
Methoden
- var backendProperty(string name)
- bool setBackendProperty(string name, var value)
- start()
- stop()
- update(int timeout)
Detaillierte Beschreibung
Die Klasse SatelliteSource liefert Informationen über genutzte und sichtbare Satelliten. Diese Klasse ist eine QML-Darstellung von QGeoSatelliteInfoSource.
Wie ihr C++-Pendant unterstützt die Klasse verschiedene Plugins. Verwenden Sie die Eigenschaft name, um den Namen des zu verwendenden Plugins festzulegen, und geben Sie bei Bedarf PluginParameters an. Wenn die Eigenschaft name nicht gesetzt ist, wird ein Standard-Plugin verwendet. Weitere Informationen zu den verfügbaren Plugins finden Sie unter Qt Positioning Plugins.
Verwenden Sie die Eigenschaft valid, um den Status der SatelliteSource zu überprüfen.
Verwenden Sie die Eigenschaft updateInterval, um anzugeben, wie oft Ihre Anwendung die Aktualisierungen der Satelliteninformationen erhalten möchte. Die Methoden start(), stop() und update() können verwendet werden, um den Betrieb der SatelliteSource zu steuern, ebenso wie die Eigenschaft active, die, wenn sie gesetzt ist, einem Aufruf von start() oder stop() entspricht.
Wenn die SatelliteSource aktiv ist, können Aktualisierungen der Satelliteninformationen über die Eigenschaften satellitesInView und satellitesInUse abgerufen werden.
Wenn während der Aktualisierung der Satelliteninformationen ein Fehler auftritt, können Sie mit der Eigenschaft sourceError den aktuellen Fehlercode abrufen.
Beispielverwendung
Das folgende Beispiel zeigt eine SatelliteSource, die das NMEA-Plugin verwendet, um jede Sekunde Satelliteninformationen zu empfangen und die Anzahl der sichtbaren und genutzten Satelliten auf der Konsole auszugeben.
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) } }
Siehe auch QGeoSatelliteInfoSource, PluginParameter, und geoSatelliteInfo.
Eigenschaft Dokumentation
active : bool |
name : string |
Diese Eigenschaft enthält den eindeutigen internen Namen für das Plugin, das derzeit Satelliteninformationen bereitstellt.
Durch das Setzen der Eigenschaft wird SatelliteSource veranlasst, ein bestimmtes Backend-Plugin zu verwenden. Wenn SatelliteSource zu dem Zeitpunkt, zu dem die Eigenschaft name geändert wird, aktiv ist, wird es inaktiv. Wenn das angegebene Backend nicht geladen werden kann, wird die Satellitenquelle ungültig.
Eine Änderung der Eigenschaft name kann dazu führen, dass sich auch die Eigenschaft updateInterval ändert.
parameters : list<PluginParameter> |
Diese Eigenschaft enthält die Liste der Plugin-Parameter.
Siehe auch PluginParameter.
satellitesInUse : list<geoSatelliteInfo> |
Diese Eigenschaft enthält die Liste der Satelliten, die derzeit in Gebrauch sind. Dies sind die Satelliten, die zur Ermittlung der aktuellen Position verwendet werden.
satellitesInView : list<geoSatelliteInfo> |
Diese Eigenschaft enthält die Liste der Satelliten, die derzeit in Sichtweite sind.
sourceError : enumeration |
Diese Eigenschaft enthält den Fehler, der zuletzt beim Backend-Datenanbieter aufgetreten ist.
- SatelliteSource.AccessError - Der Verbindungsaufbau zum Satelliten-Backend ist fehlgeschlagen, weil die Anwendung nicht über die erforderlichen Berechtigungen verfügte.
- SatelliteSource.ClosedError - Das Satelliten-Backend hat die Verbindung geschlossen, was z.B. passiert, wenn der Benutzer die Ortungsdienste ausschaltet.
- SatelliteSource.NoError - Es ist kein Fehler aufgetreten.
- SatelliteSource.UnknownSourceError - Ein nicht identifizierter Fehler ist aufgetreten.
- SatelliteSource.UpdateTimeoutError - Die Satelliteninformationen konnten nicht innerhalb der angegebenen Zeitspanne abgerufen werden.
updateInterval : int |
Diese Eigenschaft enthält das gewünschte Intervall zwischen den Aktualisierungen in Millisekunden.
valid : bool |
Diese Eigenschaft lautet true
, wenn das Objekt SatelliteSource ein gültiges Backend-Plugin zur Bereitstellung von Daten erworben hat, und andernfalls false
.
Anwendungen sollten diese Eigenschaft überprüfen, um festzustellen, ob die Bereitstellung von Satelliteninformationen auf der Laufzeitplattform verfügbar und aktiviert ist, und entsprechend reagieren.
Dokumentation der Methode
Gibt den Wert der Backend-spezifischen Eigenschaft namens name zurück, falls vorhanden. Andernfalls, auch bei Aufruf auf einer nicht initialisierten SatelliteSource, ist der Rückgabewert ungültig.
Siehe auch setBackendProperty().
Setzt die Backend-spezifische Eigenschaft namens name auf value. Gibt bei Erfolg true zurück, andernfalls false, auch wenn sie mit einem nicht initialisierten SatelliteSource aufgerufen wird.
Siehe auch backendProperty().
start() |
Fordert Aktualisierungen von der Satellitenquelle an. Verwendet updateInterval, wenn gesetzt, ansonsten Standardintervall. Wenn keine Quelle verfügbar ist, hat diese Methode keine Wirkung.
stop() |
update(int timeout = 0) |
Eine einfache Methode, um eine einzelne Aktualisierung von der Satellitenquelle anzufordern. Wenn keine Quelle verfügbar ist, hat diese Methode keine Auswirkung.
Wenn die Satellitenquelle nicht aktiv ist, wird sie so lange aktiviert, wie sie braucht, um eine Aktualisierung zu empfangen, oder bis die Anfrage ein Timeout hat. Die Zeitspanne für die Abfrage ist plugin-spezifisch.
Die timeout wird in Millisekunden angegeben. Ist timeout gleich Null (der Standardwert), wird eine für die Quelle angemessene Zeitspanne als Standardwert verwendet.
© 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.