Spec-Zone.ru › Qt 5.15

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

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

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

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

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

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

Координаты

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

Местоположения

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

Тип источника местоположения

У нас есть тип «Местоположение», тип «координата», но откуда берутся данные? Также неплохо было бы иметь возможность указывать альтернативные источники. Возможно, вместо прямого приема со спутников 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.15/location-positioning-qml.html

Spec-Zone.ru

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