Spec-Zone.ru › Qt 5.6

Класс QGeoSatelliteInfoSource

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

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

Типы публичного интерфейса

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

Свойства

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

Функции публичного интерфейса

QGeoSatelliteInfoSource(QObject *parent)
virtual ~QGeoSatelliteInfoSource()
virtual Ошибка error() const = 0
virtual int minimumUpdateInterval() const = 0
virtual void setUpdateInterval(int msec)
QString sourceName() const
int updateInterval() const
  • 31 функция унаследована от QObject

Свойства публичного интерфейса

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

Сигналы

void error(QGeoSatelliteInfoSource::Ошибка 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(), чтобы указать, как часто эти обновления должны генерироваться. Если интервал не указан, обновления предоставляются просто всякий раз, когда они становятся доступными. Например:

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

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

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

Предупреждение: В Windows CE невозможно определить, поддерживает ли устройство GPS. По умолчанию источник данных о спутниках на устройстве Windows CE без поддержки GPS никогда не предоставит данные о спутниках.

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

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

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

Константа Значение Описание
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.

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

connect(geoSatelliteInfoSource, static_cast<void(QGeoSatelliteInfoSource::*)(QGeoSatelliteInfoSource::Error)>(&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/archives/qt-5.6/qgeosatelliteinfosource.html

Spec-Zone.ru

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