QGeoSatelliteInfoSource Class
QGeoSatelliteInfoSourceクラスは、衛星情報の更新を配信するための抽象ベースクラスです。詳細...
Header: | #include <QGeoSatelliteInfoSource> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Positioning) target_link_libraries(mytarget PRIVATE Qt6::Positioning) |
qmake: | QT += positioning |
Inherits: | QObject |
Inherited By: |
パブリックタイプ
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);
以前に設定した更新間隔を削除するには、値 0 を指定してsetUpdateInterval() を呼び出す。
注意: 衛星ソースは、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 : 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() シグナルが発行される。
タイムアウトがゼロの場合、タイムアウトのデフォルトは、ソースに適した妥当なタイムアウト時間になります。
別の更新要求が進行中の場合、これは何もしない。ただし、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()
定期的な更新を停止します。
本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。