En esta página

QGeoSatelliteInfoSource Class

La clase QGeoSatelliteInfoSource es una clase base abstracta para la distribución de actualizaciones de información de satélites. Más...

Cabecera: #include <QGeoSatelliteInfoSource>
CMake: find_package(Qt6 REQUIRED COMPONENTS Positioning)
target_link_libraries(mytarget PRIVATE Qt6::Positioning)
qmake: QT += positioning
Hereda: QObject
Heredado por:

QNmeaSatelliteInfoSource

Tipos públicos

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

Propiedades

Funciones públicas

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

Ranuras públicas

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

Señales

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

Miembros públicos estáticos

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)

Descripción detallada

La función estática QGeoSatelliteInfoSource::createDefaultSource() crea una fuente de datos de satélite por defecto apropiada para la plataforma, si hay alguna disponible. En caso contrario, se comprobarán los plugins disponibles de QGeoPositionInfoSourceFactory en busca de uno que tenga una fuente de datos de satélite disponible.

Llame a startUpdates() y stopUpdates() para iniciar y detener actualizaciones periódicas, o a requestUpdate() para solicitar una única actualización. Cuando haya una actualización disponible, se emitirá satellitesInViewUpdated() y/o satellitesInUseUpdated().

Si se requieren actualizaciones periódicas de los satélites, puede utilizarse setUpdateInterval() para especificar la frecuencia con la que deben emitirse estas actualizaciones. Si no se especifica ningún intervalo, las actualizaciones se proporcionarán simplemente siempre que estén disponibles. Por ejemplo:

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

Para eliminar un intervalo de actualización previamente establecido, llame a setUpdateInterval() con un valor de 0.

Nota: La fuente del satélite puede tener un requisito de valor mínimo para los intervalos de actualización, tal y como devuelve minimumUpdateInterval().

Nota: Para utilizar esta clase desde el servicio Android, consulte Qt Positioning en Android.

Documentación de tipos de miembros

enum QGeoSatelliteInfoSource::Error

La enumeración Error representa los errores que pueden producirse.

ConstanteValorDescripción
QGeoSatelliteInfoSource::AccessError0La configuración de la conexión con el backend de satélite falló porque la aplicación carecía de los privilegios necesarios.
QGeoSatelliteInfoSource::ClosedError1El backend de satélite cerró la conexión, lo que ocurre por ejemplo en caso de que el usuario esté desactivando los servicios de localización. Este objeto deja de ser válido y debe eliminarse. Se puede crear una nueva fuente de satélite llamando a createDefaultSource() más adelante.
QGeoSatelliteInfoSource::NoError2No se ha producido ningún error.
QGeoSatelliteInfoSource::UnknownSourceError-1Se ha producido un error no identificado.
QGeoSatelliteInfoSource::UpdateTimeoutError3No se ha podido recuperar la información actual del satélite dentro del tiempo de espera especificado.

Documentación de propiedades

[read-only] minimumUpdateInterval : int

Esta propiedad contiene el tiempo mínimo (en milisegundos) necesario para recuperar una actualización de satélite.

Es el valor mínimo aceptado por setUpdateInterval() y requestUpdate().

Funciones de acceso:

virtual int minimumUpdateInterval() const = 0

[bindable] updateInterval : int

Nota: Esta propiedad soporta enlaces QProperty.

Esta propiedad contiene el intervalo solicitado en milisegundos entre cada actualización.

Si no se establece el intervalo de actualización (o se establece en 0), la fuente proporcionará actualizaciones tan a menudo como sea necesario.

Si se establece el intervalo de actualización, la fuente proporcionará actualizaciones a un intervalo lo más cercano posible al intervalo solicitado. Si el intervalo solicitado es inferior a minimumUpdateInterval(), se utilizará en su lugar el intervalo mínimo.

Los cambios en el intervalo de actualización se producirán tan pronto como sea práctico, aunque el tiempo que tarde el cambio puede variar entre implementaciones. Si el tiempo transcurrido desde el intervalo anterior se cuenta o no como parte del nuevo intervalo también depende de la implementación.

El valor por defecto de esta propiedad es 0.

Nota: Las implementaciones de subclases deben llamar a la implementación base de setUpdateInterval() para que updateInterval() devuelva el valor correcto.

Funciones de acceso:

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

Documentación de funciones miembro

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

Crea una fuente satélite con la dirección parent especificada.

[virtual noexcept] QGeoSatelliteInfoSource::~QGeoSatelliteInfoSource()

Destruye la fuente del satélite.

[static] QStringList QGeoSatelliteInfoSource::availableSources()

Devuelve una lista de los plugins fuente disponibles, incluyendo el backend por defecto del sistema si hay alguno disponible.

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

Devuelve el valor de la propiedad específica del backend llamada name, si está presente. En caso contrario, el valor devuelto no será válido.

Esta función se introdujo en Qt 6.2.

Véase también setBackendProperty.

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

Crea y devuelve una fuente con el parent especificado que lee de la fuente por defecto del sistema de información de actualización de satélites, o del plugin disponible de mayor prioridad.

Devuelve nullptr si el sistema no tiene una fuente de satélites por defecto, no se han podido encontrar plugins válidos o el usuario no tiene permiso para acceder a los datos de satélite.

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

Crea y devuelve una fuente de satélites con el parent dado que lee de las fuentes de datos de satélites por defecto del sistema, o del plugin con la mayor prioridad disponible.

Devuelve nullptr si el sistema no tiene una fuente de satélites por defecto, no se han podido encontrar plugins válidos o el usuario no tiene permiso para acceder a la información de satélites.

Este método pasa parameters a la fábrica para configurar la fuente.

Esta función se introdujo en Qt 5.14.

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

Crea y devuelve una fuente con el nombre parent, cargando el complemento sourceName.

Devuelve nullptr si el plugin no puede ser encontrado.

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

Crea y devuelve una fuente satélite con el nombre parent, cargando el plugin sourceName.

Devuelve nullptr si el plugin no puede ser encontrado.

Este método pasa parameters a la fábrica para configurar la fuente.

Esta función fue introducida en Qt 5.14.

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

Devuelve el último error ocurrido.

Nota: Desde Qt6 el último error siempre se reinicia al llamar a startUpdates() o requestUpdate().

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

Esta señal se emite tras producirse un error. El parámetro satelliteError describe el tipo de error que se ha producido.

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

Intenta obtener la información actual del satélite y emite satellitesInViewUpdated() y satellitesInUseUpdated() con esta información. Si no se puede encontrar la información actual del satélite en el plazo dado timeout (en milisegundos) o si timeout es menor que el valor devuelto por minimumUpdateInterval(), se emite una señal errorOccurred() con UpdateTimeoutError.

Si el tiempo de espera es cero, el tiempo de espera se establece por defecto en un periodo de tiempo razonable apropiado para la fuente.

Esto no hace nada si hay otra solicitud de actualización en curso. Sin embargo, puede llamarse incluso si ya se ha llamado a startUpdates() y hay actualizaciones regulares en curso.

Nota: Desde Qt6 este método siempre reinicia el último error a NoError antes de solicitar la información del satélite.

Nota: Para entender cómo utilizar este método desde un servicio Android, consulte Qt Positioning en Android.

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

Si se llama a startUpdates() o requestUpdate(), esta señal se emite cuando hay una actualización disponible sobre el número de satélites que están actualmente en uso.

Estos son los satélites que se utilizan para obtener un "fix" - es decir, los que se utilizan para determinar la posición actual.

El parámetro satellites contiene los satélites actualmente en uso.

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

Si se llama a startUpdates() o requestUpdate(), esta señal se emite cuando hay una actualización disponible sobre los satélites que están actualmente a la vista.

El parámetro satellites contiene los satélites actualmente a la vista.

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

Establece la propiedad específica del backend name en value. Devuelve true en caso de éxito, false en caso contrario. Las propiedades específicas del backend pueden usarse para configurar el comportamiento del subsistema de información del satélite en tiempo de ejecución.

Esta función se introdujo en Qt 6.2.

Véase también backendProperty.

QString QGeoSatelliteInfoSource::sourceName() const

Devuelve el nombre único de la implementación de fuente de satélite en uso.

Este es el mismo nombre que se puede pasar a createSource() para crear una nueva instancia de una implementación de fuente de satélite concreta.

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

Empieza a emitir actualizaciones a intervalos regulares. Las actualizaciones se proporcionarán siempre que se disponga de nueva información de satélite.

Si la información de satélite no puede ser recuperada o se ha producido algún otro tipo de timeout las señales satellitesInViewUpdated() y satellitesInUseUpdated() pueden ser emitidas con listas de parámetros vacías.

Nota: Desde Qt6 este método siempre restablece el último error a NoError antes de iniciar las actualizaciones.

Nota: Para entender cómo utilizar este método desde un servicio Android, consulte Qt Positioning en Android.

Véase también satellitesInViewUpdated() y satellitesInUseUpdated().

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

Deja de emitir actualizaciones a intervalos regulares.

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