Spec-Zone.ru › Qt 5.9

Класс QGeoSatelliteInfoSource

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

Заголовок: #include <QGeoSatelliteInfoSource>
qmake: QT += positioning
С момента: Qt 5.2
Наследует: QObject
  • Список всех членов, включая унаследованные

Типы публичного доступа

перечисление Error { AccessError, ClosedError, NoError, UnknownSourceError }

Свойства

  • minimumUpdateInterval : const int
  • updateInterval : int
  • 1 свойство унаследовано от QObject

Публичные функции

QGeoSatelliteInfoSource(QObject *parent)
виртуальный ~QGeoSatelliteInfoSource()
виртуальный Error error() const = 0
виртуальный int minimumUpdateInterval() const = 0
виртуальный void setUpdateInterval(int msec)
QString sourceName() const
int updateInterval() const
  • 32 публичные функции унаследованы от QObject

Публичные слоты

виртуальный void requestUpdate(int timeout = 0) = 0
виртуальный void startUpdates() = 0
виртуальный void stopUpdates() = 0
  • 1 публичный слот унаследован от QObject

Сигналы

void error(QGeoSatelliteInfoSource::Error satelliteError)
void requestTimeout()
void satellitesInUseUpdated(const QList<QGeoSatelliteInfo> &satellites)
void satellitesInViewUpdated(const QList<QGeoSatelliteInfo> &satellites)
  • 2 сигнала унаследованы от QObject

Статические публичные члены

QStringList availableSources()
QGeoSatelliteInfoSource * createDefaultSource(QObject *parent)
QGeoSatelliteInfoSource * createSource(const QString &sourceName, QObject *parent)
  • 11 статических публичных членов унаследованы от QObject

Дополнительные унаследованные члены

  • 9 защищенных функций унаследованы от QObject

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

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

Статическая функция 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::Error

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

Постоянная Значение Описание
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)

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

QGeoSatelliteInfoSource::QGeoSatelliteInfoSource(QObject *parent)

Создаёт источник спутниковых данных со указанным parent.

[virtual] QGeoSatelliteInfoSource::~QGeoSatelliteInfoSource()

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

[static] QStringList QGeoSatelliteInfoSource::availableSources()

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

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

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

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

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

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

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

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

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

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

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

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

Примечание: Сигнал error перегружен в этом классе. Для подключения к этому сигналу с использованием синтаксиса указателя на функцию 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 содержит список спутников, которые сейчас видны.

QString QGeoSatelliteInfoSource::sourceName() const

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

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

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

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

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

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

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

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

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

Spec-Zone.ru

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