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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。