Spec-Zone.ru › Qt 5.15

Тип QML PositionSource

Тип PositionSource предоставляет текущее положение устройства. Подробнее...

Заявление об импорте: import QtPositioning 5.15
С момента: Qt 5.2
  • Список всех членов, включая унаследованные члены

Свойства

  • active : bool
  • name : строка
  • nmeaSource : url
  • parameters : список<PluginParameter>
  • position : Position
  • preferredPositioningMethods : перечисление
  • sourceError : перечисление
  • supportedPositioningMethods : перечисление
  • updateInterval : целое
  • valid : bool

Сигналы

  • updateTimeout()

Методы

  • Значение backendProperty(строка name)
  • bool setBackendProperty(строка name, Значение value)
  • start()
  • stop()
  • update()

Подробное описание

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

Поскольку на разных платформах и устройствах доступны разные источники позиционирования, они классифицируются по своему основному типу (спутниковые, неспутниковые и все методы позиционирования). Доступные методы для текущей платформы можно перечислить в свойстве supportedPositioningMethods.

Чтобы указать, какие методы подходят для вашего приложения, установите свойство preferredPositioningMethods. Если предпочтительные методы недоступны, вместо этого будет выбран стандартный источник данных о местоположении для платформы. Если стандартный источник недоступен (потому что он не установлен для платформы выполнения или отключен), свойство valid будет установлено в значение false.

Свойство updateInterval можно использовать для указания частоты получения обновлений местоположения вашим приложением. Методы start(), stop() и update() можно использовать для управления работой PositionSource, а также свойство active, которое, когда оно установлено, эквивалентно вызову start() или stop().

Когда PositionSource активен, обновления положения можно получить, либо просто используя свойство position в привязке (как значение свойства другого элемента), либо предоставив реализацию обработчика сигналов onPositionChanged.

Пример использования

Следующий пример демонстрирует простой PositionSource, используемый для получения обновлений каждую секунду и вывода долготы и широты в консоль.

PositionSource {
    id: src
    updateInterval: 1000
    active: true

    onPositionChanged: {
        var coord = src.position.coordinate;
        console.log("Coordinate:", coord.longitude, coord.latitude);
    }
}

Пример приложения GeoFlickr демонстрирует, как использовать PositionSource в вашем приложении для получения локальных данных пользователей из REST-веб-сервиса.

См. также QtPositioning::Position, QGeoPositionInfoSource и PluginParameter.

Документация по свойствам

active : bool

Это свойство указывает, активен ли источник позиции. Установка этого свойства в значение false эквивалентна вызову stop, а установка в значение true эквивалентна вызову start.

См. также start, stop и update.

name : строка

Это свойство содержит уникальное внутреннее имя плагина, в данный момент предоставляющего информацию о местоположении.

Установка свойства заставляет PositionSource использовать конкретный поставщик позиционирования. Если PositionSource активен в момент изменения свойства name, он станет неактивным. Если указанный поставщик позиционирования не может быть загружен, источник позиции станет недоступным.

Изменение свойства name может привести к изменению свойств updateInterval, supportedPositioningMethods и preferredPositioningMethods.

nmeaSource : url

Это свойство содержит источник данных позиционирования NMEA (National Marine Electronics Association) (файл). Одна из целей этого свойства – удобство разработки.

Установка этого свойства переопределит любой другой источник положения. В настоящее время поддерживаются только файлы, локальные для файла .qml. Источник NMEA создаётся в режиме моделирования, что означает, что данные и временная информация в данных источника NMEA используются для предоставления обновлений местоположения с той скоростью, с которой данные были изначально записаны.

Если для объекта PositionSource установлено свойство nmeaSource, нет возможности вернуться к источникам, отличным от файлов.

[default] parameters : список<PluginParameter>

Это свойство содержит список параметров плагина.

Это свойство было добавлено в QtPositioning 5.14.

position : Position

Это свойство содержит последние известные данные местоположения. Это свойство только для чтения.

Тип Position имеет различные члены местоположения, чья валидность может быть проверена с помощью соответствующих функций валидности (например, иногда обновление не имеет данных о скорости или высоте).

Однако, всякий раз, когда был получен сигнал positionChanged, можно считать, что по крайней мере position::coordinate::latitude, position::coordinate::longitude и position::timestamp являются валидными.

См. также start, stop и update.

preferredPositioningMethods : перечисление

Это свойство содержит предпочтительные методы позиционирования текущего источника.

  • PositionSource.NoPositioningMethods - Ни один метод позиционирования не является предпочтительным.
  • PositionSource.SatellitePositioningMethods - Следует предпочитать методы спутникового позиционирования, такие как GPS.
  • PositionSource.NonSatellitePositioningMethods - Следует предпочитать методы, не основанные на спутниках.
  • PositionSource.AllPositioningMethods - Любые методы позиционирования приемлемы.

sourceError : перечисление

Это свойство содержит ошибку, которая последней произошла с PositionSource.

  • PositionSource.AccessError - Настройка соединения с удалённым бэкендом позиционирования завершилась неудачей, потому что у приложения отсутствовали необходимые привилегии.
  • PositionSource.ClosedError - Бэкенд позиционирования закрыл соединение, что происходит, например, в случае переключения пользователем служб местоположения на «выкл». Как только служба местоположения будет повторно включена, возобновятся обычные обновления.
  • PositionSource.NoError - Ошибка не произошла.
  • PositionSource.UnknownSourceError - Произошла неопределённая ошибка.
  • PositionSource.SocketError - Произошла ошибка при подключении к источнику nmea с использованием сокета.

supportedPositioningMethods : перечисление

Это свойство содержит поддерживаемые методы позиционирования текущего источника.

  • PositionSource.NoPositioningMethods - Нет поддерживаемых методов позиционирования (нет источника).
  • PositionSource.SatellitePositioningMethods - Поддерживаются методы позиционирования на основе спутников, такие как GPS.
  • PositionSource.NonSatellitePositioningMethods - Поддерживаются методы, не основанные на спутниках.
  • PositionSource.AllPositioningMethods - Поддерживаются как методы позиционирования на основе спутников, так и методы, не основанные на спутниках.

updateInterval : int

Это свойство содержит желаемый интервал между обновлениями (в миллисекундах).

См. также QGeoPositionInfoSource::updateInterval().

valid : bool

Это свойство имеет значение true, если объект PositionSource получил действительный плагин бэкенда для предоставления данных. Если false, другие методы объекта PositionSource не будут иметь эффекта.

Приложения должны проверять это свойство, чтобы определить, доступно и включено ли позиционирование на платформе выполнения, и реагировать соответствующим образом.

Документация сигналов

updateTimeout()

Если был вызван update(), этот сигнал излучается, если текущая позиция не могла быть получена в течение определенного времени.

Если был вызван start(), этот сигнал излучается, если движок позиционирования определил, что не может предоставить дальнейшие регулярные обновления.

Примечание: Соответствующий обработчик — onUpdateTimeout.

Этот сигнал был представлен в Qt Positioning 5.5.

См. также QGeoPositionInfoSource::updateTimeout().

Документация методов

Variant backendProperty(string name)

Возвращает значение свойства, специфичного для бэкенда, с именем name, если оно присутствует. В противном случае, включая вызов на неинициализированном PositionSource, значение результата будет недействительным. Поддерживаемые свойства, специфичные для бэкенда, перечислены и описаны в Qt Positioning plugins#Default plugins.

Этот метод был представлен в Qt Positioning 5.14.

См. также backendProperty и QGeoPositionInfoSource::setBackendProperty.

bool setBackendProperty(string name, Variant value)

Устанавливает свойство, специфичное для бэкенда, с именем name, на значение value. Возвращает true при успехе, false в противном случае, включая вызов на неинициализированном PositionSource. Поддерживаемые свойства, специфичные для бэкенда, перечислены и описаны в Qt Positioning plugins#Default plugins.

Этот метод был представлен в Qt Positioning 5.14.

См. также backendProperty и QGeoPositionInfoSource::setBackendProperty.

start()

Запрашивает обновления от источника местоположения. Использует updateInterval, если он задан, в противном случае используется интервал по умолчанию. Если источник недоступен, этот метод не оказывает никакого эффекта.

См. также stop, update и active.

stop()

Останавливает обновления от источника местоположения. Если источник недоступен или не активен, этот метод не оказывает никакого эффекта.

См. также start, update и active.

update()

Удобный метод для запроса одиночного обновления от источника местоположения. Если источник недоступен, этот метод не оказывает никакого эффекта.

Если источник местоположения не активен, он активируется на время, необходимое для получения обновления, или до истечения запроса. Срок ожидания запроса зависит от источника.

См. также start, stop и active.

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

Spec-Zone.ru

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