Spec-Zone.ru › Qt 5.15

Класс QGeoSatelliteInfoSource

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

Заголовок: #include <QGeoSatelliteInfoSource>
qmake: QT += positioning
С момента: Qt 5.2
Наследует: QObject

Этот класс был представлен в Qt 5.2.

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

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

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

Свойства

  • minimumUpdateInterval : const int
  • updateInterval : int

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

виртуальный ~QGeoSatelliteInfoSource()
виртуальный QGeoSatelliteInfoSource::Ошибка error() const = 0
виртуальный int minimumUpdateInterval() const = 0
виртуальный void setUpdateInterval(int msec)
QString sourceName() const
int updateInterval() const

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

виртуальный void requestUpdate(int timeout = 0) = 0
виртуальный void startUpdates() = 0
виртуальный void stopUpdates() = 0

Сигналы

void error(QGeoSatelliteInfoSource::Ошибка satelliteError)
void requestTimeout()
void satellitesInUseUpdated(const QList<QGeoSatelliteInfo> &satellites)
void satellitesInViewUpdated(const QList<QGeoSatelliteInfo> &satellites)

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

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

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

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

Вызовите startUpdates() и stopUpdates() для начала и остановки регулярных обновлений или requestUpdate() для запроса одного обновления. Когда обновление доступно, будет отправлен сигнал satellitesInViewUpdated() и/или satellitesInUseUpdated().

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

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

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

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

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

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

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

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

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

minimumUpdateInterval : const int

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

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

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

виртуальный int minimumUpdateInterval() const = 0

updateInterval : int

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

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

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

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

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

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

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

int updateInterval() const
виртуальный void setUpdateInterval(int msec)

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

[signal] void QGeoSatelliteInfoSource::error(QGeoSatelliteInfoSource::Ошибка satelliteError)

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

Примечание: Сигнал ошибка перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя функции Qt предоставляет удобную вспомогательную функцию для получения указателя на функцию, как показано в этом примере:

connect(geoSatelliteInfoSource, QOverload<QGeoSatelliteInfoSource::Error>::of(&QGeoSatelliteInfoSource::error),
    [=](QGeoSatelliteInfoSource::Error satelliteError){ /* ... */ });

[signal] void QGeoSatelliteInfoSource::requestTimeout()

Выдаётся, если requestUpdate() был вызван, и текущую информацию о спутниках невозможно было получить в течение заданного времени ожидания.

Хотя срабатывание этого сигнала может считаться условием ошибки, это не подразумевает отправку сигнала error(). Для указания таймаута требуется только отправка сигнала requestTimeout().

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

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

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

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

[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() могут быть вызваны со списками параметров, пустыми.

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

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

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

[virtual] QGeoSatelliteInfoSource::~QGeoSatelliteInfoSource()

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

[static] QStringList QGeoSatelliteInfoSource::availableSources()

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

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

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

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

[static] 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.

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

[static] 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

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

Этот сигнал не генерируется, когда произошел requestTimeout().

QString QGeoSatelliteInfoSource::sourceName() const

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

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

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

Spec-Zone.ru

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