Qt Positioning Android-Plugin
Übersicht
Das Android-Plugin „ Qt Positioning “ bündelt native Android-APIs und bietet Zugriff auf Positions- und Satellitendaten.
Das Plugin kann unter Verwendung des Anbieternamens „android“ geladen werden.
Parameter
Die folgende Tabelle listet die Parameter auf, die an das Android-Plugin übergeben werden können.
| Parameter | Beschreibung |
|---|---|
| useMslAltitude | Dieser Parameter wurde in Qt 6.8 eingeführt. Er legt fest, ob das Plugin versucht, eine Höhe über dem mittleren Meeresspiegel (Mean Sea Level, MSL) bereitzustellen. Der Standardwert ist „ false “, was bedeutet, dass die Höhe im WGS84-Format bereitgestellt wird. Dieser Parameter ist nur für Android 14 und höher relevant. Weitere Details finden Sie im Abschnitt „Höhenumrechnung “. |
Höhenumrechnung
Android gibt die Höhe traditionell über dem Referenzellipsoid des World Geodetic System 1984 (WGS84) an. Ab Android 14 wurde jedoch eine neue Klasse „AltitudeConverter“ eingeführt. Diese Klasse ermöglicht es, die WGS84-Höhe in die Höhe über dem mittleren Meeresspiegel (MSL) umzurechnen.
Wenn der Plugin-Parameter „ useMslAltitude “ auf „ true “ gesetzt ist und die Anwendung unter Android 14 oder höher läuft, enthält die Komponente „ QGeoCoordinate::altitude “ der Objekte „ QGeoPositionInfo “, die bei Positionsaktualisierungen abgerufen werden, die MSL-Höhe.
Hinweis: Laut der Android-Dokumentation kann die Umrechnung in die MSL-Höhe mehrere Sekunden dauern. Das bedeutet, dass die Ausführung von lastKnownPosition()-Anfragen länger dauern kann, wenn diese Funktion aktiviert ist, da die Methode synchron arbeitet. Andere Positionsaktualisierungsanfragen sind davon nicht betroffen.
Beispiele
Die folgenden Beispiele zeigen, wie man ein Android - PositionSource -Objekt aus C++ und QML erstellt.
QML
Der folgende Codeausschnitt erstellt ein „ PositionSource “ ohne Parameter. Die Höhe wird im WGS84-Format zurückgegeben.
PositionSource {
name: "android"
}Der nächste Codeausschnitt fügt den „ useMslAltitude “ explizit der „ PluginParameter “ hinzu und setzt dessen Wert auf „ true “. Dieser „ PositionSource “ gibt die Höhe im MSL-Format zurück.
PositionSource {
name: "android"
PluginParameter {
name: "useMslAltitude"
value: true
}
}C++
Der folgende Codeausschnitt zeigt, wie man mit C++ ein „ position source “ erstellt, das die Höhe im MSL-Format angibt.
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.