Spec-Zone.ru › Qt 5.11

Плагины сервиса позиционирования Qt

Qt Positioning предоставляет большую часть своей функциональности через плагины. В этом документе описано, как разработать новый плагин позиционирования.

Описание плагина

Каждый плагин описывается файлом json. Файл json описывает возможности и версию плагина. Ниже приведен пример файла json, используемого плагином postionpoll:

{
    "Keys": ["positionpoll"],
    "Provider": "positionpoll",
    "Position": false,
    "Satellite": false,
    "Monitor": true,
    "Priority": 1000,
    "Testable": true
}

Элементы имеют следующее значение:

Ключ Описание
Ключи Уникальное имя/ключ плагина. Каждый плагин позиционирования должен иметь уникальное имя.
Провайдер Имя провайдера услуг. Несколько плагинов могут иметь одинаковое имя. В таких случаях для дальнейшего различия плагинов будет использоваться строка Version.
Позиция Устанавливается в true , если плагин реализует QGeoPositionInfoSource.
Спутник Устанавливается в true , если плагин реализует QGeoSatelliteInfoSource.
Монитор Устанавливается в true , если плагин реализует QGeoAreaMonitorSource.
Приоритет Приоритет плагина. Если несколько плагинов имеют одинаковое имя провайдера, будет использоваться плагин с самым высоким приоритетом.

Реализация плагинов

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

  • QGeoPositionInfoSourceFactory::areaMonitor()
  • QGeoPositionInfoSourceFactory::positionInfoSource()
  • QGeoPositionInfoSourceFactory::satelliteInfoSource()

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

Spec-Zone.ru

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