Auf dieser Seite

QGeoCodingManager Class

Die Klasse „QGeoCodingManager“ bietet Unterstützung für Geokodierungsvorgänge. Mehr...

Header: #include <QGeoCodingManager>
qmake: QT += location
Inherits: QObject

Öffentliche Funktionen

virtual ~QGeoCodingManager()
QGeoCodeReply *geocode(const QGeoAddress &address, const QGeoShape &bounds = QGeoShape())
QGeoCodeReply *geocode(const QString &address, int limit = -1, int offset = 0, const QGeoShape &bounds = QGeoShape())
QLocale locale() const
QString managerName() const
int managerVersion() const
QGeoCodeReply *reverseGeocode(const QGeoCoordinate &coordinate, const QGeoShape &bounds = QGeoShape())
void setLocale(const QLocale &locale)

Signale

void errorOccurred(QGeoCodeReply *reply, QGeoCodeReply::Error error, const QString &errorString = QString())
void finished(QGeoCodeReply *reply)

Ausführliche Beschreibung

Die Funktionen „ geocode()“ und „ reverseGeocode()“ geben „ QGeoCodeReply “-Objekte zurück, die diese Vorgänge verwalten und über das Ergebnis der Vorgänge sowie über eventuell aufgetretene Fehler berichten.

Die Funktionen „ geocode()“ und „ reverseGeocode()“ können verwendet werden, um „ QGeoAddress “-Instanzen in „ QGeoCoordinate “-Instanzen umzuwandeln und umgekehrt.

Die Funktion geocode() ist zudem überladen, um dem Benutzer die Durchführung einer Freitext-Geokodierung zu ermöglichen: Kann die übergebene Zeichenkette als Adresse interpretiert werden, lässt sie sich in Koordinateninformationen geokodieren.

Auf Instanzen von `QGeoCodingManager` kann über ` QGeoServiceProvider::geocodingManager()` zugegriffen werden.

Dokumentation der Mitgliedsfunktionen

[virtual noexcept] QGeoCodingManager::~QGeoCodingManager()

Löscht diesen Manager.

[signal] void QGeoCodingManager::errorOccurred(QGeoCodeReply *reply, QGeoCodeReply::Error error, const QString &errorString = QString())

Dieses Signal wird ausgegeben, wenn bei der Verarbeitung von ` reply` ein Fehler festgestellt wurde. Das Signal ` QGeoCodingManager::finished()` wird wahrscheinlich folgen.

Der Fehler wird durch den Fehlercode ` error` beschrieben. Ist ` errorString ` nicht leer, enthält es eine textuelle Beschreibung des Fehlers.

Dieses Signal und QGeoCodeReply::errorOccurred() werden gleichzeitig ausgegeben.

Hinweis: LöschenSie das reply -Objekt nicht in dem mit diesem Signal verbundenen Slot. Verwenden Sie stattdessen deleteLater().

[signal] void QGeoCodingManager::finished(QGeoCodeReply *reply)

Dieses Signal wird ausgelöst, wenn die Verarbeitung von „ reply “ abgeschlossen ist.

Wenn reply::error() gleich QGeoCodeReply::NoError ist, wurde die Verarbeitung erfolgreich abgeschlossen.

Dieses Signal und ` QGeoCodeReply::finished()` werden gleichzeitig ausgelöst.

Hinweis: LöschenSie das reply -Objekt nicht in dem mit diesem Signal verbundenen Slot. Verwenden Sie stattdessen deleteLater().

QGeoCodeReply *QGeoCodingManager::geocode(const QGeoAddress &address, const QGeoShape &bounds = QGeoShape())

Startet die Geokodierung von address. Geokodierung ist der Vorgang, bei dem eine Koordinate ermittelt wird, die einer bestimmten Adresse entspricht.

Es wird ein ` QGeoCodeReply `-Objekt zurückgegeben, mit dem sich der Geokodierungsvorgang verwalten und die Ergebnisse des Vorgangs abrufen lassen.

Dieser Manager und das zurückgegebene ` QGeoCodeReply `-Objekt senden Signale aus, die anzeigen, ob der Vorgang abgeschlossen wurde oder ob Fehler aufgetreten sind.

Wenn supportsGeocoding() den Wert „false“ zurückgibt, wird ein „ QGeoCodeReply::UnsupportedOptionError “ ausgelöst.

Sobald der Vorgang abgeschlossen ist, können mit ` QGeoCodeReply::locations()` die Ergebnisse abgerufen werden, die aus einer Liste von ` QGeoLocation `-Objekten bestehen. Diese Objekte stellen eine Kombination aus Koordinaten- und Adressdaten dar.

Die in den Ergebnissen zurückgegebenen Adressdaten können von ` address` abweichen. Dies tritt in der Regel auf, wenn das Backend des Geokodierungsdienstes eine andere kanonische Form von Adressen verwendet oder wenn ` address ` nur teilweise ausgefüllt wurde.

Ist bounds nicht null und stellt ein gültiges QGeoShape dar, wird es verwendet, um die Ergebnisse auf diejenigen zu beschränken, die in bounds enthalten sind. Dies ist besonders nützlich, wenn address nur teilweise ausgefüllt ist, da der Dienst versuchen wird, alle Übereinstimmungen für die angegebenen Daten zu geokodieren.

Der Benutzer ist dafür verantwortlich, das zurückgegebene Antwortobjekt zu löschen; dies kann jedoch im Slot erfolgen, der mit QGeoCodingManager::finished(), QGeoCodingManager::errorOccurred(), QGeoCodeReply::finished() oder QGeoCodeReply::errorOccurred() über deleteLater() verbunden ist.

QGeoCodeReply *QGeoCodingManager::geocode(const QString &address, int limit = -1, int offset = 0, const QGeoShape &bounds = QGeoShape())

Startet die Geokodierung für einen Standort, der mit „ address “ übereinstimmt.

Es wird ein „ QGeoCodeReply “-Objekt zurückgegeben, mit dem der Geokodierungsvorgang verwaltet und die Ergebnisse des Vorgangs zurückgegeben werden können.

Dieser Manager und das zurückgegebene QGeoCodeReply -Objekt senden Signale aus, die anzeigen, ob der Vorgang abgeschlossen wurde oder ob Fehler aufgetreten sind.

Sobald der Vorgang abgeschlossen ist, können die Ergebnisse mit ` QGeoCodeReply::locations()` abgerufen werden; diese bestehen aus einer Liste von ` QGeoLocation `-Objekten. Diese Objekte stellen eine Kombination aus Koordinaten- und Adressdaten dar.

Ist limit gleich -1, wird die gesamte Ergebnismenge zurückgegeben; andernfalls werden höchstens limit Ergebnisse zurückgegeben.

Der Parameter ` offset ` wird verwendet, um den Geokodierungsdienst anzuweisen, die ersten ` offset ` Ergebnisse nicht zurückzugeben.

Die Parameter „ limit “ und „ offset “ werden gemeinsam verwendet, um die Paginierung zu implementieren.

Ist „ bounds “ nicht null und ein gültiger „ QGeoShape “, wird dieser verwendet, um die Ergebnisse auf diejenigen zu beschränken, die in „ bounds “ enthalten sind.

Der Benutzer ist dafür verantwortlich, das zurückgegebene Antwortobjekt zu löschen; dies kann jedoch im Slot erfolgen, der mit QGeoCodingManager::finished(), QGeoCodingManager::errorOccurred(), QGeoCodeReply::finished() oder QGeoCodeReply::errorOccurred() über deleteLater() verbunden ist.

QLocale QGeoCodingManager::locale() const

Gibt die Locale zurück, anhand derer diesem Geokodierungsmanager mitgeteilt wird, welche Sprache für die Ergebnisse verwendet werden soll.

Siehe auch „ setLocale()“.

QString QGeoCodingManager::managerName() const

Gibt den Namen der Engine zurück, die das Verhalten dieses Geokodierungs-Managers implementiert.

Die Kombination aus `managerName()` und ` managerVersion()` sollte innerhalb der Plugin-Implementierungen eindeutig sein.

int QGeoCodingManager::managerVersion() const

Gibt die Version der Engine zurück, die das Verhalten dieses Geokodierungsmanagers implementiert.

Die Kombination aus ` managerName()` und `managerVersion()` sollte unter den Plugin-Implementierungen eindeutig sein.

QGeoCodeReply *QGeoCodingManager::reverseGeocode(const QGeoCoordinate &coordinate, const QGeoShape &bounds = QGeoShape())

Startet die umgekehrte Geokodierung von coordinate. Bei der umgekehrten Geokodierung wird eine Adresse ermittelt, die einer bestimmten Koordinate entspricht.

Es wird ein „ QGeoCodeReply “-Objekt zurückgegeben, mit dem sich der Reverse-Geocoding-Vorgang verwalten und dessen Ergebnisse zurückgeben lassen.

Dieser Manager und das zurückgegebene „ QGeoCodeReply “-Objekt senden Signale aus, die anzeigen, ob der Vorgang abgeschlossen wurde oder ob Fehler aufgetreten sind.

Wenn `supportsReverseGeocoding()` den Wert `false` zurückgibt, wird ein ` QGeoCodeReply::UnsupportedOptionError ` ausgelöst.

Zu diesem Zeitpunkt können die Ergebnisse mit ` QGeoCodeReply::locations()` abgerufen werden; diese bestehen aus einer Liste von ` QGeoLocation `-Objekten. Diese Objekte stellen eine Kombination aus Koordinaten- und Adressdaten dar.

Die in den Ergebnissen zurückgegebenen Koordinatendaten können von ` coordinate` abweichen. Dies tritt in der Regel auf, wenn das Backend des Reverse-Geocoding-Dienstes die Koordinaten so verschiebt, dass sie näher an den übereinstimmenden Adressen liegen, oder wenn das Backend Ergebnisse mit mehreren Detailstufen zurückgibt.

Wenn das Backend des Reverse-Geocoding-Dienstes mehrere Ergebnisse zurückgibt, werden diese in der Reihenfolge ihrer Spezifität bereitgestellt. Dies ist normalerweise der Fall, wenn das Backend so konfiguriert ist, dass es Reverse-Geocoding über mehrere Detailstufen hinweg durchführt. Beispielsweise geben einige Dienste Adress- und Koordinatenpaare für die Straßenadresse, die Stadt, das Bundesland und das Land zurück.

Ist ` bounds ` nicht null und ein gültiges ` QGeoRectangle `, wird es verwendet, um die Ergebnisse auf diejenigen zu beschränken, die in ` bounds` enthalten sind.

Der Benutzer ist dafür verantwortlich, das zurückgegebene Antwortobjekt zu löschen; dies kann jedoch im Slot erfolgen, der mit QGeoCodingManager::finished(), QGeoCodingManager::errorOccurred(), QGeoCodeReply::finished() oder QGeoCodeReply::errorOccurred() über deleteLater() verbunden ist.

void QGeoCodingManager::setLocale(const QLocale &locale)

Legt die von diesem Manager zu verwendende Ländereinstellung auf locale fest.

Wenn dieser Geokodierungs-Manager die Rückgabe der Ergebnisse in verschiedenen Sprachen unterstützt, werden diese in der Sprache von locale zurückgegeben.

Ist die Locale nicht festgelegt, wird standardmäßig die System-Locale verwendet.

Siehe auch locale().

© 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.