Позиционирование (QML)
Позиционирование по местоположению
Данные местоположения включают точно указанную позицию на поверхности Земли — как предоставленную координатами широты и долготы — вместе с сопутствующими данными, такими как:
- Дата и время, в которые была сообщена позиция
- Скорость устройства, которое сообщило о позиции
- Высота сообщенной позиции (высота над уровнем моря)
- Азимут устройства в градусах, относительно истинного севера
Для получения дополнительной информации см. Географические координаты.
Эти данные могут быть извлечены различными методами. Одним из наиболее известных методов позиционирования является GPS (Глобальная система позиционирования), общедоступная система, которая использует радиоволновые сигналы, принимаемые от спутников, вращающихся вокруг Земли, для расчета точного местоположения и времени приемника. Еще один популярный метод — «Позиционирование по идентификатору ячейки», который использует идентификатор ячейки сотовой станции, которая в настоящее время обслуживает принимающее устройство, для расчета приблизительного местоположения. Эти и другие методы позиционирования могут быть использованы с API местоположений; единственное требование к источнику данных о местоположении в API заключается в том, что он предоставляет координаты широты и долготы со значением даты/времени, с возможностью предоставления других перечисленных выше атрибутов.
Координаты
Координата — базовая единица географической информации. Тип координат имеет атрибуты для хранения latitude, longitude и altitude.
Позиции
Трехмерное положение объекта, такого как мобильное устройство, может быть указано, задав широту, долготу и высоту. Это значения, хранящиеся в типе l {координата}. Кроме того, для расчета будущих позиций нам нужно знать, движется ли объект, какая скорость у него есть и какой временной отметки последних данных позиции. Поэтому позиция включает значения для координаты, скорости и временной отметки. Позиция также несет ответственность за проверку разумных значений для этих свойств. Они представлены в виде свойств latitudeValid, longitudeValid, altitudeValid, speedValid, horizontalAccuracyValid и verticalAccuracyValid.
Тип PositionSource
У нас есть тип Position, тип координат, но откуда берутся данные? Также неплохо иметь возможность указывать альтернативные источники. Возможно, вместо прямого приема сигналов со спутников GPS, желательно провести некоторые тесты с использованием файла данных.
Тип PositionSource предоставляет разработчику контроль, в пределах, разрешенных платформой, над источником географических данных. Помимо традиционных источников, таких как GPS и данные сотовой связи, данные о местоположении могут быть получены из файла журнала в формате NMEA.
NMEA — распространенный текстовый протокол для указания навигационных данных. Для удобства предоставляется свойство nmeaSource, которое позволяет приложениям QML читать данные NMEA из файла журнала или сокета TCP; источник будет генерировать обновления в соответствии с временной меткой каждой фразы NMEA, чтобы воспроизвести «воспроизведение» записанных данных. Для использования сокета TCP установите схему URI «socket».
PositionSource {
nmeaSource: "socket://127.0.0.1:12345"
} Пример GeoFlickr
Пример GeoFlickr использует Location для загрузки миниатюрных изображений с Flickr, относящихся к текущему местоположению.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/location-positioning-qml.html