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 : int
- updateInterval : int
パブリック関数
| QGeoSatelliteInfoSource(QObject *parent) | |
| 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
Error列挙型は、発生しうるエラーを表します。
| 定数 | 値 | 説明 |
|---|---|---|
QGeoSatelliteInfoSource::AccessError | 0 | アプリケーションに必要な権限が不足していたため、衛星バックエンドへの接続設定に失敗しました。 |
QGeoSatelliteInfoSource::ClosedError | 1 | サテライトバックエンドが接続を閉じました。これは、たとえばユーザーが位置情報サービスをオフにした場合などに発生します。このオブジェクトは無効になるため、削除する必要があります。後でcreateDefaultSource()を呼び出すことで、新しいサテライトソースを作成できます。 |
QGeoSatelliteInfoSource::NoError | 2 | エラーは発生していません。 |
QGeoSatelliteInfoSource::UnknownSourceError | -1 | 未特定のエラーが発生しました。 |
QGeoSatelliteInfoSource::UpdateTimeoutError | 3 | 指定されたタイムアウト時間内に現在の衛星情報を取得できませんでした。 |
プロパティのドキュメント
[read-only] minimumUpdateInterval : int
このプロパティは、衛星情報の更新を取得するために必要な最小時間(ミリ秒単位)を保持します。
これは、setUpdateInterval() およびrequestUpdate() が受け入れる最小値です。
アクセス関数:
| virtual int | minimumUpdateInterval() const = 0 |
[bindable] updateInterval : int
注:この プロパティは、QProperty のバインディングに対応しています。
このプロパティには、各更新間の要求間隔(ミリ秒単位)が格納されます。
更新間隔が設定されていない場合(または 0 に設定されている場合)、ソースは必要に応じて更新を提供します。
更新間隔が設定されている場合、ソースは要求された間隔にできるだけ近い間隔で更新を提供します。要求された間隔が `minimumUpdateInterval()` よりも短い場合は、代わりに最小間隔が使用されます。
更新間隔の変更は、実用上可能な限り速やかに行われますが、変更に要する時間は実装によって異なる場合があります。前回の間隔からの経過時間が新しい間隔の一部としてカウントされるかどうかは、実装によって異なります。
このプロパティのデフォルト値は 0 です。
注:サブクラスの 実装では、updateInterval() が正しい値を返すように、setUpdateInterval() の基底実装を呼び出す必要があります。
アクセス関数:
| int | updateInterval() const |
| virtual void | setUpdateInterval(int msec) |
メンバ関数のドキュメント
[explicit] QGeoSatelliteInfoSource::QGeoSatelliteInfoSource(QObject *parent)
指定されたparent を持つサテライトソースを作成します。
[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)
指定されたparent を持つソースを作成し、sourceName という名前のプラグインを読み込んで返します。
プラグインが見つからない場合は、nullptr を返します。
[static, since Qt 5.14] QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createSource(const QString &sourceName, const QVariantMap ¶meters, QObject *parent)
指定されたparent を持つサテライトソースを作成し、sourceName という名前のプラグインを読み込んで返します。
プラグインが見つからない場合は、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()
一定間隔での更新の送信を停止します。
© 2026 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.