Spec-Zone.ru › Qt 5.9

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

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

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

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

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

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

Ключ Описание
Ключи Уникальное имя/ключ плагина. Каждый плагин позиционирования должен иметь уникальное имя.
Провайдер Имя провайдера сервисов. Несколько плагинов могут иметь одинаковое имя. В таких случаях для дальнейшего различения плагинов будет использована строка версии.
Позиция Установлено в 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.6/qtpositioning-plugins.html

Spec-Zone.ru

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