SatelliteSource QML Type

SatelliteSource 클래스는 위성 정보를 제공합니다. 더 보기...

Import Statement: import QtPositioning
Since: Qt 6.5

속성

방법

상세 설명

SatelliteSource 클래스는 사용 중인 위성과 시야에 있는 위성에 대한 정보를 제공합니다. 이 클래스는 QGeoSatelliteInfoSource 의 QML 표현입니다.

C++와 마찬가지로 이 클래스도 다양한 플러그인을 지원합니다. name 속성을 사용하여 사용할 플러그인의 이름을 지정하고 필요한 경우 PluginParameter를 제공하세요. name 속성을 설정하지 않으면 기본 플러그인이 사용됩니다. 사용 가능한 플러그인에 대한 자세한 내용은 Qt Positioning 플러그인을 참조하세요.

valid 속성을 사용하여 위성 소스 상태를 확인합니다.

updateInterval 속성을 사용하여 애플리케이션에서 위성 정보 업데이트를 얼마나 자주 수신할지 표시합니다. start (), stop() 및 update() 메서드를 사용하여 SatelliteSource의 작동을 제어할 수 있으며, active 속성을 설정하면 start() 또는 stop()를 호출하는 것과 동일합니다.

SatelliteSource가 활성화되면 satellitesInViewsatellitesInUse 속성을 사용하여 위성 정보 업데이트를 검색할 수 있습니다.

위성 정보 업데이트 중에 오류가 발생하면 sourceError 속성을 사용하여 실제 오류 코드를 가져옵니다.

사용 예

다음 예는 NMEA 플러그인을 사용하여 매초마다 위성 정보 업데이트를 수신하고 콘솔에 보이는 위성의 수와 사용 중인 위성의 양을 인쇄하는 SatelliteSource를 보여줍니다.

SatelliteSource {
    id: source
    name: "nmea"
    active: true
    updateInterval: 1000
    PluginParameter { name: "nmea.source"; value: "serial:/dev/ttyACM0" }

    onSatellitesInUseChanged: {
        console.log("Satellites in use:", source.satellitesInUse.length)
    }
    onSatellitesInViewChanged: {
        console.log("Satellites in view:", source.satellitesInView.length)
    }
}

QGeoSatelliteInfoSource, PluginParameter, geoSatelliteInfo참조하세요 .

속성 문서

active : bool

이 속성은 위성 소스가 활성화되어 있는지 여부를 나타냅니다. 이 속성을 false 로 설정하면 stop 을 호출하는 것과 같고, true 로 설정하면 start 을 호출하는 것과 같습니다.

start, stop, update도 참조하세요 .


name : string

이 속성은 현재 위성 정보를 제공하는 플러그인의 고유한 내부 이름을 보유합니다.

이 속성을 설정하면 SatelliteSource 에서 특정 백엔드 플러그인을 사용하도록 합니다. 이름 속성이 변경되는 시점에 SatelliteSource 이 활성화되어 있으면 비활성화됩니다. 지정된 백엔드를 로드할 수 없는 경우 위성 소스가 유효하지 않게 됩니다.

이름 속성을 변경하면 updateInterval 속성도 변경될 수 있습니다.


parameters : list<PluginParameter> [default]

이 속성에는 플러그인 매개변수 목록이 저장됩니다.

PluginParameter참조하세요 .


satellitesInUse : list<geoSatelliteInfo> [read-only]

이 속성에는 현재 사용 중인 새틀라이트 목록이 저장됩니다. 이들은 "수정", 즉 현재 위치를 결정하는 데 사용되는 위성을 가져오는 데 사용되는 위성입니다.


satellitesInView : list<geoSatelliteInfo> [read-only]

이 속성에는 현재 보이는 위성의 목록이 저장됩니다.


sourceError : enumeration [read-only]

이 속성은 백엔드 데이터 공급자에게 마지막으로 발생한 오류를 보유합니다.

  • SatelliteSource.AccessError - 애플리케이션에 필요한 권한이 없어 위성 백엔드에 대한 연결 설정에 실패했습니다.
  • SatelliteSource.ClosedError - 위성 백엔드가 연결을 닫았습니다(예: 사용자가 위치 서비스를 끄기로 전환하는 경우).
  • SatelliteSource.NoError - 오류가 발생하지 않았습니다.
  • SatelliteSource.UnknownSourceError - 알 수 없는 오류가 발생했습니다.
  • SatelliteSource.UpdateTimeoutError - 지정된 시간 제한 내에 위성 정보를 검색할 수 없습니다.

updateInterval : int

이 속성은 원하는 업데이트 간격을 밀리초 단위로 보유합니다.


valid : bool [read-only]

이 속성은 SatelliteSource 객체가 데이터를 제공하기 위해 유효한 백엔드 플러그인을 획득한 경우 true, 그렇지 않은 경우 false 입니다.

애플리케이션은 이 속성을 확인하여 런타임 플랫폼에서 위성 정보 제공을 사용할 수 있고 활성화되어 있는지 확인하고 그에 따라 반응해야 합니다.


메서드 문서

var backendProperty(string name)

name 라는 백엔드별 프로퍼티가 있는 경우 그 값을 반환합니다. 그렇지 않으면 초기화되지 않은 SatelliteSource 에서 호출된 경우를 포함하여 반환값이 유효하지 않습니다.

setBackendProperty()도 참조하세요 .


bool setBackendProperty(string name, var value)

name 이라는 백엔드 특정 속성을 value 으로 설정합니다. 성공하면 참을 반환하고, 그렇지 않으면 초기화되지 않은 SatelliteSource 에서 호출된 경우를 포함하여 거짓을 반환합니다.

backendProperty()도 참조하세요 .


start()

위성 소스로부터 업데이트를 요청합니다. 설정된 경우 updateInterval, 그렇지 않으면 기본 간격을 사용합니다. 사용 가능한 소스가 없는 경우 이 메서드는 효과가 없습니다.

stop, update, 및 active도 참조 하세요.


stop()

위성 소스로부터 업데이트를 중지합니다. 사용 가능한 소스가 없거나 활성화되지 않은 경우 이 메서드는 효과가 없습니다.

start, update, 및 active도 참조 하세요.


update(int timeout = 0)

위성 소스로부터 단일 업데이트를 요청하는 편리한 방법입니다. 사용 가능한 소스가 없는 경우 이 방법은 효과가 없습니다.

위성 소스가 활성화되어 있지 않으면 업데이트를 수신하는 데 걸리는 시간만큼 또는 요청 시간이 초과될 때까지 활성화됩니다. 요청 시간 초과 기간은 플러그인별로 다릅니다.

timeout 은 밀리초 단위로 지정됩니다. timeout (기본값)가 0인 경우 기본값은 소스에 적합한 시간 초과 기간으로 설정됩니다.

start, stop, active참조하세요 .


© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.