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);

© 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.