Qt Positioning Android-Plugin

Übersicht

Das Qt Positioning Android-Plugin umschließt die nativen Android-APIs und ermöglicht den Zugriff auf Positions- und Satelliteninformationen.

Das Plugin kann mit dem Providernamen android geladen werden.

Parameter

In der folgenden Tabelle sind die Parameter aufgeführt, die an das Android-Plugin übergeben werden können.

ParameterBeschreibung
useMslAltitudeDer Parameter wurde in Qt 6.8 eingeführt. Er bestimmt, ob das Plugin versucht, eine Höhe über dem mittleren Meeresspiegel (Mean Sea Level, MSL) anzugeben. Der Standardwert ist false, was bedeutet, dass es die Höhe im WGS84-Format liefert. Dieser Parameter ist nur für Android 14 und höher relevant. Weitere Einzelheiten finden Sie im Abschnitt Höhenkonvertierung.

Konvertierung der Höhe

Android liefert traditionell die Höhe über dem World Geodetic System 1984 (WGS84) Referenzellipsoid. Ab Android 14 wurde jedoch eine neue Klasse AltitudeConverter eingeführt. Diese Klasse ermöglicht die Konvertierung der WGS84-Höhe in das Format Höhe über dem mittleren Meeresspiegel (MSL ).

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 von QGeoPositionInfo -Objekten, die bei Positionsaktualisierungen abgerufen werden, die MSL-Höhe.

Hinweis: Laut der Android-Dokumentation kann die Umwandlung in die MSL-Höhe mehrere Sekunden dauern. Das bedeutet, dass lastKnownPosition()-Anfragen länger ausgeführt werden können, wenn diese Funktion aktiviert ist, da die Methode synchron ist. Andere Anfragen zur Positionsaktualisierung sind davon nicht betroffen.

Beispiele

Die folgenden Beispiele zeigen, wie man ein android PositionSource aus C++ und QML erstellt.

QML

Das folgende Snippet erstellt eine PositionSource ohne Parameter. Die Höhe wird im WGS84-Format gemeldet.

PositionSource {
    name: "android"
}

Das nächste Snippet fügt explizit die useMslAltitude PluginParameter hinzu und setzt ihren Wert auf true. Diese PositionSource wird die Höhe im MSL-Format melden.

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

C++

Das folgende Snippet zeigt, wie man mit C++ ein position source erstellt, das die Höhe im MSL-Format meldet.

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.