Sur cette page

Qt Positioning Plugin Android

Vue d'ensemble

Le plugin Android Qt Positioning intègre les API natives d'Android et permet d'accéder aux informations de positionnement et de satellite.

Le plugin peut être chargé en utilisant le nom du fournisseur android.

Paramètres

Le tableau suivant répertorie les paramètres qui peuvent être transmis au plugin Android.

ParamètreDescription du paramètre
useMslAltitudeCe paramètre a été introduit dans Qt 6.8. Il détermine si le plugin doit essayer de fournir une altitude supérieure au niveau moyen de la mer (MSL). La valeur par défaut est false, ce qui signifie qu'il fournit l'altitude au format WGS84. Ce paramètre n'est pertinent que pour Android 14 et les versions ultérieures. Voir la section Conversion d'altitude pour plus de détails.

Conversion de l'altitude

Android fournit traditionnellement l'altitude au-dessus de l'ellipsoïde de référence du Système géodésique mondial 1984 (WGS84). Cependant, à partir d'Android 14, une nouvelle classe AltitudeConverter a été introduite. Cette classe permet de convertir l'altitude WGS84 en altitude au-dessus du niveau moyen de la mer (MSL).

Si le paramètre du plugin useMslAltitude est défini sur true et que l'application fonctionne sous Android 14 ou une version ultérieure, le composant QGeoCoordinate::altitude des objets QGeoPositionInfo récupérés lors des mises à jour de position contiendra l'altitude MSL.

Remarque : selon la documentation Android, la conversion en altitude MSL peut prendre plusieurs secondes. Cela signifie que les requêtes lastKnownPosition() peuvent s'exécuter plus longtemps lorsque cette fonctionnalité est activée, car la méthode est synchrone. Les autres demandes de mise à jour de la position ne sont pas affectées.

Exemples de mise à jour de la position

Les exemples suivants montrent comment créer un site android PositionSource à partir de C++ et de QML.

QML

L'extrait suivant crée un site PositionSource sans aucun paramètre. L'altitude sera indiquée au format WGS84.

PositionSource {
    name: "android"
}

L'extrait suivant ajoute explicitement le useMslAltitude PluginParameter et définit sa valeur à true. Ce PositionSource indiquera l'altitude au format MSL.

PositionSource {
    name: "android"
    PluginParameter {
        name: "useMslAltitude"
        value: true
    }
}

C++

L'extrait suivant montre comment utiliser C++ pour créer un site position source qui indique l'altitude au format MSL.

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.