Spec-Zone.ru › Qt 5.9

Тип QML PositionSource

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

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

Свойства

  • active : bool
  • name : string
  • nmeaSource : url
  • position : Position
  • preferredPositioningMethods : перечисление
  • sourceError : перечисление
  • supportedPositioningMethods : перечисление
  • updateInterval : int
  • valid : bool

Сигналы

  • updateTimeout()

Методы

  • 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.

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

active : bool

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

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

name : string

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

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

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

nmeaSource : url

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

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

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

position : Position

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

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

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

См. также 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

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

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

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

updateTimeout()

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

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

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

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

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

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.9/qml-qtpositioning-positionsource.html

Spec-Zone.ru

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