Qt Positioning Android プラグイン
概要
Qt Positioning Android プラグインは、Android のネイティブ API をラップし、測位と衛星情報へのアクセスを提供します。
このプラグインは、プロバイダ名android を使用して読み込むことができます。
パラメータ
以下の表は、Android プラグインに渡すことができるパラメータの一覧です。
パラメータ | 説明 |
---|---|
useMslAltitude | このパラメータはQt 6.8で導入されました。このパラメータは、プラグインが平均海抜(MSL)以上の高度を提供しようとするかどうかを決定します。デフォルト値はfalse で、WGS84フォーマットの高度を提供します。このパラメータはAndroid 14以降にのみ関係します。詳細は高度変換のセクションを参照してください。 |
高度変換
Androidは従来、世界測地系1984(WGS84)基準楕円体上の高度を提供していました。しかし、Android 14からは新しいAltitudeConverterクラスが導入されました。このクラスは、WGS84高度を平均海抜高度(MSL)フォーマットに変換することができます。
useMslAltitude
プラグイン・パラメータがtrue
に設定され、アプリケーションがAndroid 14以降で動作している場合、位置更新時に取得されるQGeoPositionInfo オブジェクトのQGeoCoordinate::altitude コンポーネントには MSL 高度が含まれます。
注: Android のドキュメントによると、MSL 高度への変換には数秒かかる場合があります。つまり、この機能を有効にすると、lastKnownPosition ()リクエストの実行時間が長くなる可能性があります。このメソッドは同期式だからです。他の位置更新リクエストは影響を受けません。
例
以下の例では、C++とQMLからandroid PositionSource 。
QML
次のスニペットはパラメータなしでPositionSource を作成します。高度は WGS84 フォーマットで報告されます。
PositionSource { name: "android" }
次のスニペットはuseMslAltitude
PluginParameter を明示的に追加し、その値をtrue
に設定します。 このPositionSource は高度を MSL フォーマットで報告します。
PositionSource { name: "android" PluginParameter { name: "useMslAltitude" value: true } }
C++
次のスニペットは、C++ を使って高度を MSL フォーマットで報告するposition source を作成する方法を示しています。
QVariantMap params; params["useMslAltitude"] = true; QGeoPositionInfoSource *positionSource = QGeoPositionInfoSource::createSource("android", params, this);
ここに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。