Fused Location Provider
Fused-провайдер — это реализация источника геопозиционирования, использующая алгоритмы сглаживания для отсеивания выбросов при выдаче координат. Он использует все доступные включенные источники, такие как GNSS, LBS (требуют предварительной настройки).
Подробное описание
Fused-провайдер объединяет данные нескольких источников геопозиционирования и применяет сглаживание для формирования более устойчивой последовательности координат. GNSS обеспечивает определение местоположения по спутниковым сигналам, а LBS — по данным сотовых сетей и других наземных источников; для использования LBS требуется предварительная настройка. Выбор Fused-провайдера целесообразен, когда приложению необходима единая логика работы с геопозицией без отдельного опроса каждого источника.
Для того чтобы приложение могло использовать Fused-провайдер через Qt,
достаточно выбрать его через QGeoPositionInfoSource::createSource:
// Проверяем доступен ли провайдер
QStringList sources = QGeoPositionInfoSource::availableSources();
if (!sources.contains("fused")) {
qWarning() << "Fused-провайдер отсутствует!";
return -1;
}
QGeoPositionInfoSource *source = QGeoPositionInfoSource::createSource("fused", this);
source->setUpdateInterval(1000);
source->startUpdates();
connect(source,
SIGNAL(positionUpdated(QGeoPositionInfo)),
this,
SIGNAL(positionUpdated(QGeoPositionInfo)));
Методы
QGeoPositionInfoSource::availableSources()— возвращает список имён доступных провайдеров геопозиционирования.QGeoPositionInfoSource::createSource()— создаёт источник геопозиционирования по указанному имени провайдера.setUpdateInterval()— задаёт интервал обновления координат в миллисекундах.startUpdates()— запускает регулярное обновление данных геопозиционирования.stopUpdates()— останавливает регулярное обновление данных.
Свойства
preferredPositioningMethods— определяет предпочтительный набор методов позиционирования.updateInterval— задаёт интервал между обновлениями координат.
Сигналы
positionUpdated(QGeoPositionInfo)— испускается при поступлении нового значения геопозиции и позволяет приложению обрабатывать обновлённые координаты.