Qt Positioning Plugin Android
Présentation
Le plugin Android « Qt Positioning » encapsule les API natives d'Android et permet d'accéder aux informations de localisation et aux données satellites.
Le plugin peut être chargé en utilisant le nom de fournisseur « android ».
Paramètres
Le tableau suivant répertorie les paramètres pouvant être transmis au plugin Android.
| Paramètre | Description |
|---|---|
| useMslAltitude | Ce paramètre a été introduit dans Qt 6.8. Il détermine si le plugin tentera de fournir une altitude au-dessus du 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 ne s’applique qu’à Android 14 et versions ultérieures. Consultez la section « Conversion d’altitude » pour plus de détails. |
Conversion d’altitude
Android fournit traditionnellement l'altitude par rapport à 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 par rapport au niveau moyen de la mer (MSL).
Si le paramètre du plugin useMslAltitude est défini sur true et que l’application s’exécute sous Android 14 ou 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 prendre plus de temps à s'exécuter lorsque cette fonctionnalité est activée, car la méthode est synchrone. Les autres requêtes de mise à jour de position ne sont pas affectées.
Exemples
Les exemples suivants montrent comment créer un ` PositionSource ` Android à partir de C++ et de QML.
QML
L'extrait de code suivant crée une PositionSource sans paramètres. L'altitude sera indiquée au format WGS84.
PositionSource {
name: "android"
}L'extrait de code suivant ajoute explicitement l'useMslAltitude ` PluginParameter ` et définit sa valeur sur ` true`. Cette PositionSource indiquera l'altitude au format MSL.
PositionSource {
name: "android"
PluginParameter {
name: "useMslAltitude"
value: true
}
}C++
L'extrait de code suivant montre comment utiliser C++ pour créer une 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.