Qt Positioning Plugins
Qt Positioning stellt den größten Teil seiner Funktionalität über Plugins zur Verfügung. Dieses Dokument beschreibt, wie man ein neues Positions-Plugin entwickelt.
Standard-Plugins
Einige Plugins werden bereits mit Qt ausgeliefert. Diese sind:
android | Umfasst das Android-Positionierungs-Subsystem. Nur auf Android verfügbar. |
corelocation | Umfasst iOS- und macOS-Subsysteme für die Positionsbestimmung. Nur auf Apple-Plattformen verfügbar, die corelocation unterstützen. |
geoclue2 | Ein GeoClue v2 Backend, das eine Schnittstelle zum GeoClue v2 D-Bus-Dienst bietet. |
gypsy | Ein Gypsy-Backend, das eine Schnittstelle zum Gypsy-Daemon bereitstellt. |
winrt | Umfasst das WinRT-Positionierungs-Subsystem. Nur unter WinRT und Windows10 verfügbar. |
nmea | Ein NMEA-Backend, das NMEA-Streams von einem GPS-Empfänger analysiert, um Positionsaktualisierungen bereitzustellen. Dieses Plugin kann eine serielle Schnittstelle, einen Socket oder eine Datei als Quelle verwenden. |
positionpoll | Ein Backend, das nur Gebietsüberwachungsfunktionalitäten durch Abfrage von Positionsaktualisierungen bereitstellt. |
Plugin-Beschreibung
Jedes Plugin wird durch eine json-Datei beschrieben. Die json-Datei beschreibt die Fähigkeiten und die Version des Plugins. Unten sehen Sie ein Beispiel für eine json-Datei, die vom postionpoll-Plugin verwendet wird:
{ "Keys": ["positionpoll"], "Provider": "positionpoll", "Position": false, "Satellite": false, "Monitor": true, "Priority": 1000, "Testable": true }
Die Einträge haben die folgende Bedeutung:
Schlüssel | Beschreibung |
---|---|
Schlüssel | Der eindeutige Name/Schlüssel des Plugins. Jedes Positions-Plugin muss einen eindeutigen Namen haben. |
Anbieter | Der Name des Anbieters der Dienste. Mehrere Plugins können denselben Namen haben. In solchen Fällen wird die Zeichenkette Version zur weiteren Unterscheidung der Plugins verwendet. |
Standort | Wird auf true gesetzt, wenn das Plugin eine QGeoPositionInfoSource implementiert. |
Satellit | Wird auf true gesetzt, wenn das Plugin ein QGeoSatelliteInfoSource implementiert. |
Überwachen | Wird auf true gesetzt, wenn das Plugin ein QGeoAreaMonitorSource implementiert. |
Priorität | Die Priorität des Plugins. Wenn mehrere Plugins denselben Anbieternamen haben, wird das Plugin mit der höchsten Priorität verwendet. |
Implementieren von Plugins
Ein Plugin-Implementierer muss die Unterklasse QGeoPositionInfoSourceFactory verwenden und eine oder mehrere ihrer Funktionen überschreiben. Wenn ein Plugin ein bestimmtes Merkmal nicht unterstützt, sollte die Funktion 0 zurückgeben oder die Standardimplementierung verwenden.
© 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.