Spec-Zone.ru › Qt 5.13

Класс QGeoSatelliteInfoSource

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

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

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

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

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

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

Свойства

  • minimumUpdateInterval : const int
  • updateInterval : int

Функции публичного доступа

QGeoSatelliteInfoSource(QObject *parent)
virtual ~QGeoSatelliteInfoSource()
virtual QGeoSatelliteInfoSource::Error error() const = 0
virtual int minimumUpdateInterval() const = 0
virtual void setUpdateInterval(int msec)
QString sourceName() const
int updateInterval() const

Свойства публичного доступа

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

Сигналы

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

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

QStringList availableSources()
QGeoSatelliteInfoSource * createDefaultSource(QObject *parent)
QGeoSatelliteInfoSource * createSource(const QString &sourceName, 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::Error

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

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

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

minimumUpdateInterval : const int

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

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

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

virtual int minimumUpdateInterval() const = 0

updateInterval : int

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

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

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

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

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

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

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

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

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

QGeoSatelliteInfoSource::QGeoSatelliteInfoSource(QObject *parent)

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

[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 = ...)

Попытка получить текущую информацию о спутниках и выдача сигналов 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()

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

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

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

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

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

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

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

[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.13/qgeosatelliteinfosource.html

Spec-Zone.ru

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