Auf dieser Seite

QGeoSatelliteInfoSource Class

Die Klasse „QGeoSatelliteInfoSource“ ist eine abstrakte Basisklasse für die Verteilung von Aktualisierungen von Satelliteninformationen. Mehr...

Header: #include <QGeoSatelliteInfoSource>
CMake: find_package(Qt6 REQUIRED COMPONENTS Positioning)
target_link_libraries(mytarget PRIVATE Qt6::Positioning)
qmake: QT += positioning
Erbt von: QObject
Vererbt an:

QNmeaSatelliteInfoSource

Öffentliche Typen

enum Error { AccessError, ClosedError, NoError, UnknownSourceError, UpdateTimeoutError }

Eigenschaften

Öffentliche Funktionen

QGeoSatelliteInfoSource(QObject *parent)
virtual ~QGeoSatelliteInfoSource()
(since 6.2) virtual QVariant backendProperty(const QString &name) const
QBindable<int> bindableUpdateInterval()
virtual QGeoSatelliteInfoSource::Error error() const = 0
virtual int minimumUpdateInterval() const = 0
(since 6.2) virtual bool setBackendProperty(const QString &name, const QVariant &value)
virtual void setUpdateInterval(int msec)
QString sourceName() const
int updateInterval() const

Öffentliche Slots

virtual void requestUpdate(int timeout = 0) = 0
virtual void startUpdates() = 0
virtual void stopUpdates() = 0

Signale

void errorOccurred(QGeoSatelliteInfoSource::Error satelliteError)
void satellitesInUseUpdated(const QList<QGeoSatelliteInfo> &satellites)
void satellitesInViewUpdated(const QList<QGeoSatelliteInfo> &satellites)

Statische öffentliche Mitglieder

QStringList availableSources()
QGeoSatelliteInfoSource *createDefaultSource(QObject *parent)
(since Qt 5.14) QGeoSatelliteInfoSource *createDefaultSource(const QVariantMap &parameters, QObject *parent)
QGeoSatelliteInfoSource *createSource(const QString &sourceName, QObject *parent)
(since Qt 5.14) QGeoSatelliteInfoSource *createSource(const QString &sourceName, const QVariantMap &parameters, QObject *parent)

Ausführliche Beschreibung

Die statische Funktion ` QGeoSatelliteInfoSource::createDefaultSource()` erstellt eine für die Plattform geeignete Standard-Satellitendatenquelle, sofern eine verfügbar ist. Andernfalls werden die verfügbaren „ QGeoPositionInfoSourceFactory “-Plugins daraufhin überprüft, ob eines davon über eine Satellitendatenquelle verfügt.

Rufen Sie „ startUpdates()“ und „ stopUpdates()“ auf, um regelmäßige Aktualisierungen zu starten und zu stoppen, oder „ requestUpdate()“, um eine einzelne Aktualisierung anzufordern. Wenn eine Aktualisierung verfügbar ist, werden „ satellitesInViewUpdated()“ und/oder „ satellitesInUseUpdated()“ ausgegeben.

Wenn regelmäßige Satelliten-Updates erforderlich sind, kann mit ` setUpdateInterval()` festgelegt werden, wie oft diese Updates ausgegeben werden sollen. Wird kein Intervall angegeben, werden Updates einfach bereitgestellt, sobald sie verfügbar sind. Beispiel:

// Emit updates every 10 seconds if available
QGeoSatelliteInfoSource *source = QGeoSatelliteInfoSource::createDefaultSource(0);
if (source)
    source->setUpdateInterval(10000);

Um ein zuvor festgelegtes Aktualisierungsintervall zu entfernen, rufen Sie setUpdateInterval() mit dem Wert 0 auf.

Hinweis: Die Satellitenquelle kann eine Mindestanforderung für Aktualisierungsintervalle haben, wie sie von ` minimumUpdateInterval()` zurückgegeben wird.

Hinweis: Informationen zur Verwendung dieser Klasse in einem Android-Dienst finden Sie unter „Qt Positioning “ auf Android.

Dokumentation zu den Mitgliedstypen

enum QGeoSatelliteInfoSource::Error

Die Aufzählung „Error“ stellt die Fehler dar, die auftreten können.

KonstanteWertBeschreibung
QGeoSatelliteInfoSource::AccessError0Der Verbindungsaufbau zum Satelliten-Backend ist fehlgeschlagen, da der Anwendung die erforderlichen Berechtigungen fehlten.
QGeoSatelliteInfoSource::ClosedError1Das Satelliten-Backend hat die Verbindung geschlossen, was beispielsweise dann geschieht, wenn der Benutzer die Standortdienste deaktiviert. Dieses Objekt ist nun ungültig und sollte gelöscht werden. Eine neue Satellitenquelle kann später durch Aufruf von ` createDefaultSource()` erstellt werden.
QGeoSatelliteInfoSource::NoError2Es ist kein Fehler aufgetreten.
QGeoSatelliteInfoSource::UnknownSourceError-1Es ist ein nicht identifizierter Fehler aufgetreten.
QGeoSatelliteInfoSource::UpdateTimeoutError3Die aktuellen Satellitendaten konnten nicht innerhalb der angegebenen Zeitüberschreitung abgerufen werden.

Dokumentation der Eigenschaften

[read-only] minimumUpdateInterval : int

Diese Eigenschaft gibt die Mindestzeit (in Millisekunden) an, die zum Abrufen eines Satelliten-Updates benötigt wird.

Dies ist der Mindestwert, der von den Funktionen „ setUpdateInterval()“ und „ requestUpdate()“ akzeptiert wird.

Zugriffsfunktionen:

virtual int minimumUpdateInterval() const = 0

[bindable] updateInterval : int

Hinweis: Diese Eigenschaft unterstützt „ QProperty “-Bindungen.

Diese Eigenschaft enthält das gewünschte Intervall in Millisekunden zwischen den einzelnen Aktualisierungen.

Wenn das Aktualisierungsintervall nicht festgelegt ist (oder auf 0 gesetzt ist), liefert die Quelle so oft wie nötig Aktualisierungen.

Ist das Aktualisierungsintervall festgelegt, liefert die Quelle Aktualisierungen in einem Intervall, das dem angeforderten Intervall so nahe wie möglich kommt. Ist das angeforderte Intervall kürzer als der Wert von ` minimumUpdateInterval()`, wird stattdessen das Mindestintervall verwendet.

Änderungen am Aktualisierungsintervall werden so schnell wie möglich vorgenommen; die dafür benötigte Zeit kann jedoch je nach Implementierung variieren. Ob die seit dem letzten Intervall verstrichene Zeit als Teil des neuen Intervalls gezählt wird, hängt ebenfalls von der jeweiligen Implementierung ab.

Der Standardwert für diese Eigenschaft ist 0.

Hinweis: Unterklassen müssen die Basisimplementierung von `setUpdateInterval()` aufrufen, damit `updateInterval()` den korrekten Wert zurückgibt.

Zugriffsfunktionen:

int updateInterval() const
virtual void setUpdateInterval(int msec)

Dokumentation zu Mitgliedsfunktionen

[explicit] QGeoSatelliteInfoSource::QGeoSatelliteInfoSource(QObject *parent)

Erstellt eine Satellitenquelle mit der angegebenen „ parent “.

[virtual noexcept] QGeoSatelliteInfoSource::~QGeoSatelliteInfoSource()

Zerstört die Satellitenquelle.

[static] QStringList QGeoSatelliteInfoSource::availableSources()

Gibt eine Liste der verfügbaren Quell-Plugins zurück, einschließlich des standardmäßigen System-Backends, sofern eines verfügbar ist.

[virtual, since 6.2] QVariant QGeoSatelliteInfoSource::backendProperty(const QString &name) const

Gibt den Wert der backend-spezifischen Eigenschaft „ name “ zurück, sofern diese vorhanden ist. Andernfalls ist der zurückgegebene Wert ungültig.

Diese Funktion wurde in Qt 6.2 eingeführt.

Siehe auch „ setBackendProperty “.

[static] QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createDefaultSource(QObject *parent)

Erstellt und gibt eine Quelle mit dem angegebenen „ parent “ zurück, die aus der Standardquelle des Systems für Satellitenaktualisierungen oder aus dem Plugin mit der höchsten Priorität liest.

Gibt „ nullptr “ zurück, wenn das System keine Standard-Satellitenquelle hat, keine gültigen Plugins gefunden werden konnten oder der Benutzer keine Berechtigung zum Zugriff auf die Satellitendaten hat.

[static, since Qt 5.14] QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createDefaultSource(const QVariantMap &parameters, QObject *parent)

Erstellt und gibt eine Satellitenquelle mit der angegebenen „ parent “ zurück, die aus den Standardquellen des Systems für Satellitendaten oder aus dem Plugin mit der höchsten verfügbaren Priorität liest.

Gibt ` nullptr ` zurück, wenn das System keine Standard-Satellitenquelle hat, keine gültigen Plugins gefunden werden konnten oder der Benutzer keine Berechtigung zum Zugriff auf die Satelliteninformationen hat.

Diese Methode übergibt ` parameters ` an die Factory, um die Quelle zu konfigurieren.

Diese Funktion wurde in Qt 5.14 eingeführt.

[static] QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createSource(const QString &sourceName, QObject *parent)

Erstellt und gibt eine Quelle mit der angegebenen „ parent “ zurück, indem das Plugin mit dem Namen „ sourceName “ geladen wird.

Gibt ` nullptr ` zurück, wenn das Plugin nicht gefunden werden kann.

[static, since Qt 5.14] QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createSource(const QString &sourceName, const QVariantMap &parameters, QObject *parent)

Erstellt und gibt eine Satellitenquelle mit dem angegebenen „ parent “ zurück, indem das Plugin mit dem Namen „ sourceName “ geladen wird.

Gibt ` nullptr ` zurück, wenn das Plugin nicht gefunden werden kann.

Diese Methode übergibt ` parameters ` an die Factory, um die Quelle zu konfigurieren.

Diese Funktion wurde in Qt 5.14 eingeführt.

[pure virtual] QGeoSatelliteInfoSource::Error QGeoSatelliteInfoSource::error() const

Gibt den zuletzt aufgetretenen Fehler zurück.

Hinweis: Seit Qt6 wird der letzte Fehler beim Aufruf von ` startUpdates()` oder ` requestUpdate()` stets zurückgesetzt.

[signal] void QGeoSatelliteInfoSource::errorOccurred(QGeoSatelliteInfoSource::Error satelliteError)

Dieses Signal wird ausgegeben, nachdem ein Fehler aufgetreten ist. Der Parameter „ satelliteError “ beschreibt die Art des aufgetretenen Fehlers.

[pure virtual slot] void QGeoSatelliteInfoSource::requestUpdate(int timeout = 0)

Versucht, die aktuellen Satellitendaten abzurufen, und sendet mit diesen Daten die Signale „ satellitesInViewUpdated “ () und „ satellitesInUseUpdated “ () aus. Wenn die aktuellen Satellitendaten nicht innerhalb der angegebenen Zeit „ timeout “ (in Millisekunden) gefunden werden können oder wenn „ timeout “ kleiner ist als der von „ minimumUpdateInterval “ () zurückgegebene Wert, wird ein Signal „ errorOccurred “ () mit „ UpdateTimeoutError “ ausgegeben.

Wenn die Zeitüberschreitung Null ist, wird standardmäßig eine für die Quelle angemessene Zeitüberschreitungsdauer verwendet.

Dies hat keine Auswirkungen, wenn gerade eine andere Aktualisierungsanforderung läuft. Die Methode kann jedoch auch aufgerufen werden, wenn startUpdates() bereits aufgerufen wurde und reguläre Aktualisierungen laufen.

Hinweis: Seit Qt6 setzt diese Methode vor der Abfrage der Satelliteninformationen stets den letzten Fehler auf „ NoError “ zurück.

Hinweis: Informationen zur Verwendung dieser Methode in einem Android-Dienst findenSie unter „Qt Positioning “ auf Android.

[signal] void QGeoSatelliteInfoSource::satellitesInUseUpdated(const QList<QGeoSatelliteInfo> &satellites)

Wenn „ startUpdates()“ oder „ requestUpdate()“ aufgerufen wird, wird dieses Signal ausgegeben, sobald eine Aktualisierung der Anzahl der derzeit genutzten Satelliten vorliegt.

Dies sind die Satelliten, die zur Positionsbestimmung verwendet werden – also diejenigen, mit denen die aktuelle Position ermittelt wird.

Der Parameter ` satellites ` enthält die derzeit verwendeten Satelliten.

[signal] void QGeoSatelliteInfoSource::satellitesInViewUpdated(const QList<QGeoSatelliteInfo> &satellites)

Wenn ` startUpdates()` oder ` requestUpdate()` aufgerufen wird, wird dieses Signal ausgegeben, sobald eine Aktualisierung für die derzeit sichtbaren Satelliten verfügbar ist.

Der Parameter ` satellites ` enthält die derzeit sichtbaren Satelliten.

[virtual, since 6.2] bool QGeoSatelliteInfoSource::setBackendProperty(const QString &name, const QVariant &value)

Setzt die backend-spezifische Eigenschaft „ name “ auf „ value “. Gibt bei Erfolg „ true “ zurück, andernfalls „ false “. Backend-spezifische Eigenschaften können verwendet werden, um das Verhalten des Satelliteninfo-Subsystems zur Laufzeit zu konfigurieren.

Diese Funktion wurde in Qt 6.2 eingeführt.

Siehe auch backendProperty.

QString QGeoSatelliteInfoSource::sourceName() const

Gibt den eindeutigen Namen der derzeit verwendeten Satellitenquellen-Implementierung zurück.

Dies ist derselbe Name, der an ` createSource()` übergeben werden kann, um eine neue Instanz einer bestimmten Satellitenquellen-Implementierung zu erstellen.

[pure virtual slot] void QGeoSatelliteInfoSource::startUpdates()

Es werden in regelmäßigen Abständen Aktualisierungen gesendet. Die Aktualisierungen werden bereitgestellt, sobald neue Satellitendaten verfügbar sind.

Wenn keine Satellitendaten abgerufen werden können oder eine andere Art von Zeitüberschreitung aufgetreten ist, können die Signale „ satellitesInViewUpdated()“ und „ satellitesInUseUpdated()“ mit leeren Parameterlisten ausgelöst werden.

Hinweis: Seit Qt6 setzt diese Methode vor dem Start der Aktualisierungen stets den letzten Fehler auf „ NoError “ zurück.

Hinweis: Informationen zur Verwendung dieser Methode in einem Android-Dienst findenSie unter „Qt Positioning “ auf Android.

Siehe auch „ satellitesInViewUpdated()“ und „ satellitesInUseUpdated()“.

[pure virtual slot] void QGeoSatelliteInfoSource::stopUpdates()

Beendet die Ausgabe von Aktualisierungen in regelmäßigen Abständen.

© 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.