Spec-Zone.ru › Qt 5.14

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

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

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

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

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

Эти данные могут быть извлечены различными способами. Одним из наиболее известных методов позиционирования является GPS (Глобальная система позиционирования), общедоступная система, которая использует радиоволновые сигналы, полученные от спутников на орбите Земли, для расчета точного местоположения и времени приемника. Другой популярный метод — «Позиционирование по идентификатору соты», который использует идентификатор соты, обслуживающей в настоящее время устройство-приемник, для расчета его приблизительного местоположения. Эти и другие методы позиционирования могут быть использованы с 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 использует местоположение для скачивания миниатюрных изображений из Flickr, относящихся к текущему местоположению.

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

Spec-Zone.ru

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