Spec-Zone.ru › Qt

Класс QGeoSatelliteInfoSource

Класс QGeoSatelliteInfoSource — это абстрактный базовый класс для распространения обновлений информации о спутниках. Подробнее...

Заголовок: #include <QGeoSatelliteInfoSource>
CMake: find_package(Qt6 COMPONENTS Positioning REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Positioning)
qmake: QT += positioning
С тех пор: Qt 5.2
Наследуется от: QObject
Наследует:

QNmeaSatelliteInfoSource

  • Список всех членов, включая унаследованные

Открытые типы

перечисление Ошибка { ОшибкаДоступа, ОшибкаЗакрытия, БезОшибок, НеизвестнаяОшибкаИсточника, ОшибкаТаймаутаОбновления }

Свойства

  • минимальныйИнтервалОбновления : const int
  • интервалОбновления : int

Открытые функции

виртуальный ~QGeoSatelliteInfoSource()
виртуальный QVariant backendProperty(const QString &name) const
виртуальный QGeoSatelliteInfoSource::Ошибка ошибка() const = 0
виртуальный int минимальныйИнтервалОбновления() const = 0
виртуальный bool setBackendProperty(const QString &name, const QVariant &value)
виртуальный void setUpdateInterval(int msec)
QString имяИсточника() const
int интервалОбновления() const

Открытые слоты

виртуальный void запросОбновления(int timeout = 0) = 0
виртуальный void начатьОбновления() = 0
виртуальный void остановитьОбновления() = 0

Сигналы

void произошлаОшибка(QGeoSatelliteInfoSource::Ошибка satelliteError)
void обновленыСпутникиВУпотреблении(const QList<QGeoSatelliteInfo> &satellites)
void обновленыСпутникиВзоре(const QList<QGeoSatelliteInfo> &satellites)

Статические открытые члены

QStringList доступныеИсточники()
QGeoSatelliteInfoSource * создатьИсточениПоУмолчанию(QObject *parent)
QGeoSatelliteInfoSource * создатьИсточениПоУмолчанию(const QVariantMap &parameters, QObject *parent)
QGeoSatelliteInfoSource * создатьИсточник(const QString &sourceName, QObject *parent)
QGeoSatelliteInfoSource * создатьИсточник(const QString &sourceName, const QVariantMap &parameters, QObject *parent)

Подробное описание

Статическая функция QGeoSatelliteInfoSource::createDefaultSource() создает исходный источник данных о спутниках по умолчанию, подходящий для платформы, если таковой доступен. В противном случае проверяются доступные плагины QGeoPositionInfoSourceFactory на наличие одного, у которого доступен источник данных о спутниках.

Вызовите начатьОбновления() и остановитьОбновления() для запуска и остановки регулярных обновлений или запросОбновления() для запроса одного обновления. Когда доступно обновление, обновленыСпутникиВзоре() и/или обновленыСпутникиВУпотреблении() будут выпущены.

Если требуются регулярные обновления данных о спутниках, setUpdateInterval() можно использовать для указания частоты выдачи этих обновлений. Если интервал не указан, обновления просто предоставляются, когда они доступны. Например:

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

Чтобы удалить интервал обновления, который был ранее установлен, вызовите setUpdateInterval() со значением 0.

Примечание: Источник спутников может иметь минимальное требуемое значение для интервалов обновлений, как возвращает минимальныйИнтервалОбновления().

Примечание: Чтобы использовать этот класс из Android-сервиса, см. Qt Positioning на Android.

Документация по типам членов

перечисление QGeoSatelliteInfoSource::Ошибка

Перечисление Ошибка представляет ошибки, которые могут возникнуть.

Константа Значение Описание
QGeoSatelliteInfoSource::AccessError 0 Настройка подключения к обратному концу спутника не удалась, так как у приложения не было необходимых привилегий.
QGeoSatelliteInfoSource::ClosedError 1 Обратный конец спутника закрыл подключение, что происходит, например, в случае, если пользователь переключает службы местоположения на выключенное состояние. Этот объект становится недопустимым и должен быть удалён. Новый источник спутников может быть создан, вызвав createDefaultSource() позже.
QGeoSatelliteInfoSource::NoError 2 Ошибка не произошла.
QGeoSatelliteInfoSource::UnknownSourceError -1 Произошла неустановленная ошибка.
QGeoSatelliteInfoSource::UpdateTimeoutError 3 Текущая информация о спутниках не могла быть получена в течение заданного таймаута.

Документация по свойству

[read-only] minimumUpdateInterval : const int

Это свойство хранит минимальное время (в миллисекундах), необходимое для получения обновления спутниковых данных.

Это минимальное значение, принимаемое setUpdateInterval() и requestUpdate().

Функции доступа:

virtual int minimumUpdateInterval() const = 0

[bindable] updateInterval : int

Примечание: Это свойство поддерживает привязки QProperty.

Это свойство хранит запрашиваемый интервал в миллисекундах между каждым обновлением.

Если интервал обновления не установлен (или равен 0), источник будет предоставлять обновления так часто, как это необходимо.

Если интервал обновления установлен, источник будет предоставлять обновления с интервалом, максимально приближенным к запрошенному интервалу. Если запрошенный интервал меньше, чем minimumUpdateInterval(), используется минимальный интервал.

Изменения интервала обновления происходят как можно быстрее, однако время изменения может варьироваться в разных реализациях. То, учитывается ли время, прошедшее с предыдущего интервала, как часть нового интервала, также зависит от реализации.

Значение по умолчанию для этого свойства равно 0.

Примечание: Реализации подклассов должны вызывать базовый метод setUpdateInterval(), чтобы updateInterval() возвращал правильное значение.

Документация по членам-функциям

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

Этот сигнал испускается после возникновения ошибки. Параметр satelliteError описывает тип произошедшей ошибки.

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

Попытка получить текущую информацию о спутниках и испустить satellitesInViewUpdated() и satellitesInUseUpdated() с этой информацией. Если текущая информация о спутниках не может быть найдена в течение заданного timeout (в миллисекундах) или если timeout меньше значения, возвращаемого minimumUpdateInterval(), испускается сигнал errorOccurred() с UpdateTimeoutError.

Если таймаут равен нулю, таймаут устанавливается по умолчанию на разумный интервал времени, соответствующий источнику.

Этот метод ничего не делает, если уже выполняется другой запрос обновления. Однако его можно вызывать даже если startUpdates() уже был вызван, и регулярные обновления находятся в процессе.

Примечание: Начиная с Qt6, этот метод всегда сбрасывает последнюю ошибку на NoError перед запросом информации о спутниках.

Примечание: Чтобы понять, как использовать этот метод из сервиса Android, см. Qt Positioning на Android.

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

Если startUpdates() или requestUpdate() вызываются, этот сигнал испускается, когда доступно обновление количества спутников, которые в настоящее время используются.

Это спутники, используемые для получения "фикса" — то есть, используемые для определения текущего местоположения.

Параметр satellites содержит спутники, которые в настоящее время используются.

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

Если startUpdates() или requestUpdate() вызываются, этот сигнал испускается, когда доступно обновление спутников, которые в настоящее время видны.

Параметр satellites содержит спутники, которые в настоящее время видны.

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

Начинает испускать обновления с регулярными интервалами. Обновления будут предоставляться всякий раз, когда становится доступна новая информация о спутниках.

Если информация о спутниках не может быть получена или произошел какой-либо другой вид таймаута, сигналы satellitesInViewUpdated() и satellitesInUseUpdated() могут быть испущены со списками параметров, являющимися пустыми.

Примечание: Начиная с Qt6, этот метод всегда сбрасывает последнюю ошибку на NoError перед запуском обновлений.

Примечание: Чтобы понять, как использовать этот метод из сервиса Android, см. Qt Positioning на Android.

См. также satellitesInViewUpdated() и satellitesInUseUpdated().

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

Останавливает испускание обновлений с регулярными интервалами.

[virtual] QGeoSatelliteInfoSource::~QGeoSatelliteInfoSource()

Уничтожает источник спутниковых данных.

[static] QStringList QGeoSatelliteInfoSource::availableSources()

Возвращает список доступных плагинов-источников, включая системный бэкенд по умолчанию, если он доступен.

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

Возвращает значение свойства бэкенда с именем name, если оно присутствует. В противном случае возвращаемое значение будет недействительным.

Эта функция была добавлена в Qt 6.2.

См. также setBackendProperty.

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

Создает и возвращает источник с указанным parent, который считывает информацию о спутниковых обновлениях из системного источника по умолчанию или из плагина с наивысшим приоритетом.

Возвращает nullptr если у системы нет источника спутниковых данных по умолчанию, не удалось найти действительных плагинов или у пользователя нет разрешения на доступ к данным спутников.

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

Создает и возвращает источник спутников с заданным parent, считывающий данные из системного источника данных спутников по умолчанию или из плагина с наивысшим доступным приоритетом.

Возвращает nullptr если у системы нет системного источника по умолчанию, не удалось найти действительных плагинов или у пользователя нет разрешения на доступ к информации о спутниках.

Этот метод передает parameters фабрике для конфигурации источника.

Эта функция была добавлена в Qt 5.14.

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

Создает и возвращает источник с заданным parent, загружая плагин с именем sourceName.

Возвращает nullptr если плагин не найден.

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

Создает и возвращает источник спутников с заданным parent, загружая плагин с именем sourceName.

Возвращает nullptr если плагин не найден.

Этот метод передает parameters фабрике для конфигурации источника.

Эта функция была добавлена в Qt 5.14.

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

Возвращает последнюю произошедшую ошибку.

Примечание: Начиная с Qt6, последняя ошибка всегда сбрасывается при вызове startUpdates() или requestUpdate().

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

Устанавливает свойство бэкенда с именем name в значение value. Возвращает true при успехе, false в противном случае. Свойства бэкенда могут использоваться для конфигурации поведения подсистемы информации о спутниках во время выполнения.

Эта функция была добавлена в Qt 6.2.

См. также backendProperty.

QString QGeoSatelliteInfoSource::sourceName() const

Возвращает уникальное имя реализации источника информации о спутниках, используемой в данный момент.

Это то же самое имя, которое можно передать в createSource() для создания нового экземпляра конкретной реализации источника информации о спутниках.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qgeosatelliteinfosource.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API