Spec-Zone.ru › Qt 5.11

Позиционирование (QML)

Позиционирование по местоположению

Данные местоположения включают точно указанную позицию на поверхности Земли — как предоставленную координатами широты и долготы — вместе с ассоциированными данными, такими как:

  • Дата и время, в которые была сообщена позиция
  • Скорость устройства, которое сообщило о позиции
  • Высота указанной позиции (высота над уровнем моря)
  • Азимут устройства в градусах, относительно истинного севера

Для получения дополнительной информации см. Географические координаты.

Эти данные могут быть извлечены различными способами. Одним из наиболее известных методов позиционирования является GPS (Глобальная система позиционирования), общедоступная система, которая использует радиоволновые сигналы, полученные от спутников на околоземной орбите, для расчета точной позиции и времени приемника. Другим популярным методом является «Позиционирование по идентификатору сотовой ячейки», которое использует идентификатор сотовой ячейки, обслуживающей текущее устройство-приемник, для расчета приблизительного местоположения. Эти и другие методы позиционирования могут быть использованы с API местоположений; единственное требование к источнику данных местоположения в API состоит в том, что он предоставляет координаты широты и долготы со значением даты/времени, с возможностью предоставления других вышеперечисленных атрибутов.

Координаты

Координата — это базовая единица географической информации. Тип координат имеет атрибуты для хранения latitude, longitude и altitude.

Позиции

Трехмерное положение объекта, такого как мобильное устройство, может быть указано, предоставив широту, долготу и высоту. Это значения, хранящиеся в типе l {координата}. Кроме того, для расчета будущих позиций нам нужно знать, движется ли объект, с какой скоростью он движется и какова метка времени последних данных о позиции. Следовательно, позиция включает значения для координаты, скорости и метки времени. Позиция также отвечает за проверку разумных значений для этих свойств. Они представлены в виде свойств latitudeValid, longitudeValid, altitudeValid, speedValid, horizontalAccuracyValid и verticalAccuracyValid.

Тип источника позиций

У нас есть тип Позиции, тип координат, но откуда берутся данные? Также неплохо иметь возможность указывать альтернативные источники. Возможно, вместо непосредственного приема сигналов со спутников GPS, желательно провести некоторые тесты с использованием файла данных.

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

NMEA — это распространённый текстовый протокол для задания навигационных данных. Для удобства предоставлено свойство nmeaSource для возможности чтение данных NMEA из файла журнала или сокета TCP приложениями QML, источник будет генерировать обновления в соответствии с отметкой времени каждой строки NMEA, чтобы воспроизвести «повтор» записанных данных. Для использования сокета TCP установите схему URI «socket».

PositionSource {
    nmeaSource: "socket://127.0.0.1:12345"
}

Пример GeoFlickr

В примере GeoFlickr используется местоположение для скачивания миниатюрных изображений с Flickr, относящихся к текущему местоположению.

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

Spec-Zone.ru

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