Spec-Zone.ru › Qt 5.9

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

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

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

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

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

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

Координаты

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

Позиция

Трехмерное положение объекта, такого как мобильное устройство, может быть задано с помощью широты, долготы и высоты. Это значения, хранящиеся в типе l {coordinate}. Кроме того, для расчёта будущих позиций нам нужно знать, движется ли объект, какая у него скорость и какой временной отметки последних данных о местоположении. Поэтому позиция включает значения для координат, скорости и временной отметки. Позиция также отвечает за проверку разумных значений этих свойств. Они представлены как свойства 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.9/location-positioning-qml.html

Spec-Zone.ru

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