このページでは

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

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