Документация
ОС Аврора 5.1.0

Класс InfoLocationInfo

(Sailfish::Mdm::LocationInfo)

Класс LocationInfo предоставляет данные о местоположении устройства. Подробнее…

Заголовочный файл: #include <mdm-location.h>

Публичные типы

Свойства

Публичные методы

Сигналы

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

Класс LocationInfo предоставляет данные о местоположении устройства.

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

Для использования данного класса в qmake-настройки проекта клиента следует добавить следующее:

 CONFIG += link_pkgconfig
 PKGCONFIG += sailfishmdm

и затем #include <mdm-location.h>.

Пример использования:

 #include <mdm-location.h>
 void listenForLocationChange(QObject *parent)
 {
     Sailfish::Mdm::LocationInfo *info = new Sailfish::Mdm::LocationInfo(parent);
     QObject::connect(info, &Sailfish::Mdm::LocationInfo::positionChanged, [info] {
             qInfo() << "GPS: Координаты:" << info->latitude()
                                     << "," << info->longitude();
         });
     info->requestUpdate();
 }

Описание свойств

altitude : const double

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

Если высота устройства не известна (например, если ни один из поставщиков данных геопозиционирования не предоставил пока соответствующей информации), метод вернёт константу Not-A-Number типа double.

При получении обновлённых данных геопозиционирования испускается сигнал positionChanged().

Методы доступа:

  • double altitude() const

Сигнал уведомления:

latitude : const double

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

Если широта устройства не известна (например, если ни один из поставщиков данных геопозиционирования не предоставил пока соответствующей информации), метод вернёт константу Not-A-Number типа double.

При получении обновлённых данных геопозиционирования испускается сигнал positionChanged().

Методы доступа:

  • double latitude() const

Сигнал уведомления:

longitude : const double

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

Если долгота устройства не известна (например, если ни один из поставщиков данных геопозиционирования не предоставил пока соответствующей информации), метод вернёт константу Not-A-Number типа double.

При получении обновлённых данных геопозиционирования испускается сигнал positionChanged().

Методы доступа:

  • double longitude() const

Сигнал уведомления:

position : const Position

Содержит последнее полученное обновление данных о геопозиционировании устройства.

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

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

Методы доступа:

  • Position position() const

Сигнал уведомления:

satellitesInUse : const int

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

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

При изменении количества используемых спутников или спутников в области видимости испускается сигнал satellitesChanged().

Методы доступа:

  • int satellitesInUse() const

Сигнал уведомления:

satellitesInView : const int

Содержит количество GPS-спутников, находящихся в настоящий момент в области видимости.

Это значение берется из данных GPS-альманаха.

При изменении количества используемых спутников или спутников в области видимости испускается сигнал satellitesChanged().

Методы доступа:

  • int satellitesInView() const

Сигнал уведомления:

timestamp : const QDateTime

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

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

При получении обновлённых данных геопозиционирования испускается сигнал positionChanged().

Методы доступа:

  • QDateTime timestamp() const

Сигнал уведомления:

Описание методов класса

LocationInfo::LocationInfo(QObject *parent = Q_NULLPTR)

Конструктор по умолчанию для класса LocationInfo.

LocationInfo::~LocationInfo()

Деструктор для класса LocationInfo.

[signal] void LocationInfo::positionChanged()

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

Примечание — Сигнал уведомления для свойства altitude. Сигнал уведомления для свойства latitude. Сигнал уведомления для свойства longitude. Сигнал уведомления для свойства position. Сигнал уведомления для свойства timestamp.

void LocationInfo::requestUpdate()

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

[signal] void LocationInfo::satellitesChanged()

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

Примечание — Сигнал уведомления для свойства satellitesInUse. Сигнал уведомления для свойства satellitesInView.

void LocationInfo::startUpdates()

Подписывает клиентское приложение на обновления данных геопозиционирования от одного из подключённых поставщиков соответствующей информации (включая GPS и aGPS).

void LocationInfo::stopUpdates()

Отменяет подписку для клиентского приложения на обновления данных геопозиционирования от одного из подключённых поставщиков соответствующей информации (включая GPS и aGPS).

В случае, если клиентское приложение было последним активным подписчиком, поставщик услуг геопозиционирования отключит GPS оборудование, также будут завершены все запущенные процессы поставщика услуг aGPS.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.