QGeoSatelliteInfoSource Class
QGeoSatelliteInfoSource 클래스는 위성 정보 업데이트 배포를 위한 추상 베이스 클래스입니다. 더 보기...
헤더: | #include <QGeoSatelliteInfoSource> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Positioning) target_link_libraries(mytarget PRIVATE Qt6::Positioning) |
qmake: | QT += positioning |
상속합니다: | QObject |
상속 대상: |
공용 유형
enum | Error { AccessError, ClosedError, NoError, UnknownSourceError, UpdateTimeoutError } |
속성
- minimumUpdateInterval : const int
- updateInterval : int
공용 기능
virtual | ~QGeoSatelliteInfoSource() |
(since 6.2) virtual QVariant | backendProperty(const QString &name) const |
QBindable<int> | bindableUpdateInterval() |
virtual QGeoSatelliteInfoSource::Error | error() const = 0 |
virtual int | minimumUpdateInterval() const = 0 |
(since 6.2) virtual bool | setBackendProperty(const QString &name, const QVariant &value) |
virtual void | setUpdateInterval(int msec) |
QString | sourceName() const |
int | updateInterval() const |
공용 슬롯
virtual void | requestUpdate(int timeout = 0) = 0 |
virtual void | startUpdates() = 0 |
virtual void | stopUpdates() = 0 |
신호
void | errorOccurred(QGeoSatelliteInfoSource::Error satelliteError) |
void | satellitesInUseUpdated(const QList<QGeoSatelliteInfo> &satellites) |
void | satellitesInViewUpdated(const QList<QGeoSatelliteInfo> &satellites) |
정적 공용 멤버
QStringList | availableSources() |
QGeoSatelliteInfoSource * | createDefaultSource(QObject *parent) |
(since Qt 5.14) QGeoSatelliteInfoSource * | createDefaultSource(const QVariantMap ¶meters, QObject *parent) |
QGeoSatelliteInfoSource * | createSource(const QString &sourceName, QObject *parent) |
(since Qt 5.14) QGeoSatelliteInfoSource * | createSource(const QString &sourceName, const QVariantMap ¶meters, QObject *parent) |
상세 설명
정적 함수 QGeoSatelliteInfoSource::createDefaultSource()는 사용 가능한 위성 데이터 소스가 있는 경우 플랫폼에 적합한 기본 위성 데이터 소스를 만듭니다. 그렇지 않으면 사용 가능한 QGeoPositionInfoSourceFactory 플러그인 중 위성 데이터 소스를 사용할 수 있는 플러그인이 있는지 확인합니다.
startUpdates() 및 stopUpdates()를 호출하여 정기 업데이트를 시작 및 중지하거나 requestUpdate()를 호출하여 단일 업데이트를 요청합니다. 업데이트를 사용할 수 있으면 satellitesInViewUpdated() 및/또는 satellitesInUseUpdated()이 전송됩니다.
정기적인 위성 업데이트가 필요한 경우 setUpdateInterval()를 사용하여 이러한 업데이트가 얼마나 자주 전송되어야 하는지 지정할 수 있습니다. 간격을 지정하지 않으면 업데이트가 있을 때마다 업데이트가 제공됩니다. 예를 들어
// Emit updates every 10 seconds if available QGeoSatelliteInfoSource *source = QGeoSatelliteInfoSource::createDefaultSource(0); if (source) source->setUpdateInterval(10000);
이전에 설정한 업데이트 간격을 제거하려면 setUpdateInterval()를 0으로 호출합니다.
참고: 위성 소스는 minimumUpdateInterval()에서 반환되는 것처럼 업데이트 간격에 대한 최소값 요구 사항을 가질 수 있습니다.
참고: Android 서비스에서 이 클래스를 사용하려면 Android에서Qt Positioning 을 참조하세요.
멤버 유형 문서
enum QGeoSatelliteInfoSource::Error
오류 열거형은 발생할 수 있는 오류를 나타냅니다.
Constant | 값 | 설명 |
---|---|---|
QGeoSatelliteInfoSource::AccessError | 0 | 애플리케이션에 필요한 권한이 없기 때문에 위성 백엔드에 대한 연결 설정이 실패했습니다. |
QGeoSatelliteInfoSource::ClosedError | 1 | 위성 백엔드가 연결을 닫았습니다(예: 사용자가 위치 서비스를 끄기로 전환하는 경우). 이 개체는 유효하지 않으므로 삭제해야 합니다. 나중에 createDefaultSource()를 호출하여 새 위성 소스를 만들 수 있습니다. |
QGeoSatelliteInfoSource::NoError | 2 | 오류가 발생하지 않았습니다. |
QGeoSatelliteInfoSource::UnknownSourceError | -1 | 알 수 없는 오류가 발생했습니다. |
QGeoSatelliteInfoSource::UpdateTimeoutError | 3 | 지정된 시간 제한 시간 내에 현재 위성 정보를 검색할 수 없습니다. |
속성 문서
[read-only]
minimumUpdateInterval : const int
이 속성은 위성 업데이트를 검색하는 데 필요한 최소 시간(밀리초)을 보유합니다.
이 값은 setUpdateInterval() 및 requestUpdate()에서 허용되는 최소값입니다.
액세스 함수:
virtual int | minimumUpdateInterval() const = 0 |
[bindable]
updateInterval : int
참고: 이 속성은 QProperty 바인딩을 지원합니다.
이 속성은 각 업데이트 사이에 요청된 간격을 밀리초 단위로 유지합니다.
업데이트 간격을 설정하지 않거나 0으로 설정하면 소스에서 필요한 만큼 자주 업데이트를 제공합니다.
업데이트 간격을 설정하면 소스는 가능한 한 요청된 간격에 가까운 간격으로 업데이트를 제공합니다. 요청된 간격이 minimumUpdateInterval()보다 작으면 최소 간격이 대신 사용됩니다.
업데이트 간격에 대한 변경은 가능한 한 빨리 이루어지지만 변경에 걸리는 시간은 구현마다 다를 수 있습니다. 이전 간격에서 경과된 시간을 새 간격의 일부로 계산할지 여부도 구현에 따라 달라집니다.
이 속성의 기본값은 0입니다.
참고: 서브클래스 구현은 updateInterval()이 올바른 값을 반환할 수 있도록 setUpdateInterval()의 기본 구현을 호출해야 합니다.
멤버 함수 문서
[virtual noexcept]
QGeoSatelliteInfoSource::~QGeoSatelliteInfoSource()
위성 소스를 파괴합니다.
[static]
QStringList QGeoSatelliteInfoSource::availableSources()
사용 가능한 기본 시스템 백엔드를 포함하여 사용 가능한 소스 플러그인 목록을 반환합니다(사용 가능한 경우).
[virtual, since 6.2]
QVariant QGeoSatelliteInfoSource::backendProperty(const QString &name) const
name 라는 백엔드별 프로퍼티가 있는 경우 그 값을 반환합니다. 그렇지 않으면 반환된 값은 유효하지 않습니다.
이 함수는 Qt 6.2에 도입되었습니다.
setBackendProperty 를참조하십시오 .
[static]
QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createDefaultSource(QObject *parent)
시스템의 기본 위성 업데이트 정보 소스 또는 사용 가능한 가장 높은 우선 순위의 플러그인에서 읽어오는 지정된 parent 소스를 생성하고 반환합니다.
시스템에 기본 위성 소스가 없거나 유효한 플러그인을 찾을 수 없거나 사용자에게 위성 데이터에 액세스할 수 있는 권한이 없는 경우 nullptr
을 반환합니다.
[static, since Qt 5.14]
QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createDefaultSource(const QVariantMap ¶meters, QObject *parent)
시스템의 기본 위성 데이터 소스 또는 사용 가능한 가장 높은 우선순위를 가진 플러그인에서 읽어오는 지정된 parent 위성 소스를 생성하고 반환합니다.
시스템에 기본 위성 소스가 없거나 유효한 플러그인을 찾을 수 없거나 사용자에게 위성 정보에 액세스할 수 있는 권한이 없는 경우 nullptr
을 반환합니다.
이 메서드는 parameters 을 공장에 전달하여 소스를 구성합니다.
이 함수는 Qt 5.14에 도입되었습니다.
[static]
QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createSource(const QString &sourceName, QObject *parent)
sourceName 이라는 플러그인을 로드하여 주어진 parent 으로 소스를 생성하고 반환합니다.
플러그인을 찾을 수 없으면 nullptr
을 반환합니다.
[static, since Qt 5.14]
QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createSource(const QString &sourceName, const QVariantMap ¶meters, QObject *parent)
sourceName 이라는 플러그인을 로드하여 주어진 parent 으로 위성 소스를 생성하고 반환합니다.
플러그인을 찾을 수 없으면 nullptr
을 반환합니다.
이 메서드는 parameters 을 팩토리로 전달하여 소스를 구성합니다.
이 함수는 Qt 5.14에 도입되었습니다.
[pure virtual]
QGeoSatelliteInfoSource::Error QGeoSatelliteInfoSource::error() const
마지막으로 발생한 오류를 반환합니다.
참고: Qt6부터 startUpdates() 또는 requestUpdate()을 호출하면 마지막 오류는 항상 초기화됩니다.
[signal]
void QGeoSatelliteInfoSource::errorOccurred(QGeoSatelliteInfoSource::Error satelliteError)
이 신호는 오류가 발생한 후에 전송됩니다. satelliteError 매개 변수는 발생한 오류 유형을 설명합니다.
[pure virtual slot]
void QGeoSatelliteInfoSource::requestUpdate(int timeout = 0)
현재 위성 정보를 가져와 이 정보와 함께 satellitesInViewUpdated() 및 satellitesInUseUpdated()을 전송하려고 시도합니다. 지정된 timeout (밀리초) 내에 현재 위성 정보를 찾을 수 없거나 timeout 이 minimumUpdateInterval()에서 반환한 값보다 작으면 UpdateTimeoutError 을 포함한 errorOccurred() 신호가 전송됩니다.
시간 제한이 0인 경우 기본값은 소스에 적합한 합리적인 시간 제한 기간으로 설정됩니다.
다른 업데이트 요청이 진행 중이면 아무 일도 하지 않습니다. 그러나 startUpdates()가 이미 호출되어 정기 업데이트가 진행 중인 경우에도 호출할 수 있습니다.
참고: Qt6부터 이 메서드는 위성 정보를 요청하기 전에 항상 마지막 오류를 NoError 로 재설정합니다.
참고: Android 서비스에서 이 메서드를 사용하는 방법을 이해하려면 Android에서Qt Positioning 을 참조하세요.
[signal]
void QGeoSatelliteInfoSource::satellitesInUseUpdated(const QList<QGeoSatelliteInfo> &satellites)
startUpdates() 또는 requestUpdate()이 호출되면 현재 사용 중인 위성의 수에 대한 업데이트가 있을 때 이 신호가 전송됩니다.
이러한 위성은 "수정", 즉 현재 위치를 파악하는 데 사용되는 위성입니다.
satellites 매개변수는 현재 사용 중인 위성을 보유합니다.
[signal]
void QGeoSatelliteInfoSource::satellitesInViewUpdated(const QList<QGeoSatelliteInfo> &satellites)
startUpdates() 또는 requestUpdate()이 호출되면 현재 보기에 있는 위성에 업데이트가 있을 때 이 신호가 전송됩니다.
satellites 매개변수는 현재 보기에 있는 위성을 보유합니다.
[virtual, since 6.2]
bool QGeoSatelliteInfoSource::setBackendProperty(const QString &name, const QVariant &value)
name 이라는 백엔드 관련 속성을 value 으로 설정합니다. 성공하면 true
, 그렇지 않으면 false
을 반환합니다. 백엔드 전용 프로퍼티는 런타임에 위성 정보 서브시스템 동작을 구성하는 데 사용할 수 있습니다.
이 함수는 Qt 6.2에 도입되었습니다.
backendProperty 를참조하십시오 .
QString QGeoSatelliteInfoSource::sourceName() const
사용 중인 위성 소스 구현의 고유 이름을 반환합니다.
이 이름은 특정 위성 소스 구현의 새 인스턴스를 생성하기 위해 createSource()에 전달할 수 있는 이름과 동일합니다.
[pure virtual slot]
void QGeoSatelliteInfoSource::startUpdates()
일정한 간격으로 업데이트를 전송하기 시작합니다. 새로운 위성 정보를 사용할 수 있게 될 때마다 업데이트가 제공됩니다.
위성 정보를 검색할 수 없거나 다른 형태의 시간 초과가 발생한 경우 빈 파라미터 목록과 함께 satellitesInViewUpdated() 및 satellitesInUseUpdated() 신호가 전송될 수 있습니다.
참고: Qt6부터 이 메서드는 업데이트를 시작하기 전에 항상 마지막 오류를 NoError 로 재설정합니다.
참고: Android 서비스에서 이 메서드를 사용하는 방법을 이해하려면 Android에서Qt Positioning 을 참조하세요.
satellitesInViewUpdated() 및 satellitesInUseUpdated()도 참조하세요 .
[pure virtual slot]
void QGeoSatelliteInfoSource::stopUpdates()
일정한 간격으로 업데이트 전송을 중지합니다.
© 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.