QGeoSatelliteInfoSource Class

QGeoSatelliteInfoSourceクラスは、衛星情報の更新を配信するための抽象ベースクラスです。詳細...

ヘッダ #include <QGeoSatelliteInfoSource>
CMake: find_package(Qt6 REQUIRED COMPONENTS Positioning)
target_link_libraries(mytarget PRIVATE Qt6::Positioning)
qmake: QT += positioning
を継承する: QObject
継承元:

QNmeaSatelliteInfoSource

パブリックな型

enum Error { AccessError, ClosedError, NoError, UnknownSourceError, UpdateTimeoutError }

プロパティ

パブリック機能

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 &parameters, QObject *parent)
QGeoSatelliteInfoSource *createSource(const QString &sourceName, QObject *parent)
(since Qt 5.14) QGeoSatelliteInfoSource *createSource(const QString &sourceName, const QVariantMap &parameters, 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);

以前に設定した更新間隔を削除するには、値 0 を指定してsetUpdateInterval() を呼び出す。

注意: 衛星ソースは、minimumUpdateInterval ()によって返されるように、更新間隔の最小値要件を持つことができる。

:Android サービスからこのクラスを使用するには、Android のQt Positioning を参照。

メンバ型ドキュメント

enum QGeoSatelliteInfoSource::Error

Error列挙は、発生する可能性のあるエラーを表します。

定数説明
QGeoSatelliteInfoSource::AccessError0アプリケーションに必要な権限がないため、サテライトバックエンドへの接続セットアップに失敗しました。
QGeoSatelliteInfoSource::ClosedError1サテライトバックエンドが接続を閉じました。これは、例えばユーザがロケーションサービスをオフに切り替えている場合に発生します。このオブジェクトは無効になり、削除する必要があります。後でcreateDefaultSource() を呼び出すことで、新しいサテライト・ソースを作成できます。
QGeoSatelliteInfoSource::NoError2エラーは発生していない。
QGeoSatelliteInfoSource::UnknownSourceError-1不明なエラーが発生した。
QGeoSatelliteInfoSource::UpdateTimeoutError3指定されたタイムアウト時間内に、現在の衛星情報を取得できませんでした。

プロパティ・ドキュメント

[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 &parameters, 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 &parameters, 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 (ミリ秒単位)以内に現在の衛星情報が見つからなかった場合、またはtimeoutminimumUpdateInterval() によって返された値より小さい場合、UpdateTimeoutError を持つerrorOccurred() シグナルが発行される。

タイムアウトがゼロの場合、タイムアウトのデフォルトは、ソースに適した妥当なタイムアウト時間になります。

別の更新要求が進行中の場合、これは何もしない。ただし、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.