QGeoCodingManager Class

Die Klasse QGeoCodingManager bietet Unterstützung für Geokodierungsoperationen. 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)

Detaillierte Beschreibung

Die Funktionen geocode() und reverseGeocode() geben QGeoCodeReply Objekte zurück, die diese Operationen verwalten und über das Ergebnis der Operationen und eventuell aufgetretene Fehler berichten.

Die Funktionen geocode() und reverseGeocode() können verwendet werden, um QGeoAddress Instanzen in QGeoCoordinate Instanzen zu konvertieren und andersherum.

Die Funktion geocode() ist auch überladen, um dem Benutzer die Möglichkeit zu geben, eine Freitext-Geokodierung durchzuführen. Wenn die angegebene Zeichenkette als Adresse interpretiert werden kann, kann sie in Koordinateninformationen geokodiert werden.

Auf Instanzen von QGeoCodingManager kann mit QGeoServiceProvider::geocodingManager() zugegriffen werden.

Dokumentation der Mitgliedsfunktionen

[virtual noexcept] QGeoCodingManager::~QGeoCodingManager()

Zerstört 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 aufgetreten ist. Wahrscheinlich wird das Signal QGeoCodingManager::finished() folgen.

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

Dieses Signal und QGeoCodeReply::errorOccurred() werden zur gleichen Zeit ausgegeben.

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

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

Dieses Signal wird ausgegeben, wenn reply die Verarbeitung abgeschlossen hat.

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

Dieses Signal und QGeoCodeReply::finished() werden zur gleichen Zeit ausgegeben.

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

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

Beginnt die Geokodierung von address. Bei der Geokodierung wird eine Koordinate gefunden, die einer bestimmten Adresse entspricht.

Es wird ein Objekt QGeoCodeReply zurückgegeben, das zur Verwaltung des Geokodierungsvorgangs und zur Rückgabe der Ergebnisse des Vorgangs verwendet werden kann.

Dieser Manager und das zurückgegebene QGeoCodeReply Objekt geben 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 ausgegeben.

Sobald der Vorgang abgeschlossen ist, kann QGeoCodeReply::locations() verwendet werden, um die Ergebnisse abzurufen, 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 sich von address unterscheiden. Dies ist in der Regel der Fall, wenn das Backend des Geokodierungsdienstes eine andere kanonische Form von Adressen verwendet oder wenn address nur teilweise ausgefüllt wurde.

Wenn bounds nicht leer und eine gültige QGeoShape ist, wird sie 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 mit den angegebenen Daten zu geokodieren.

Der Benutzer ist für das Löschen des zurückgegebenen Antwortobjekts verantwortlich, obwohl dies in dem mit QGeoCodingManager::finished(), QGeoCodingManager::errorOccurred(), QGeoCodeReply::finished() oder QGeoCodeReply::errorOccurred() verbundenen Slot mit deleteLater() erfolgen kann.

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

Beginnt die Geokodierung für einen Ort, der mit address übereinstimmt.

Es wird ein QGeoCodeReply Objekt zurückgegeben, das zur Verwaltung des Geokodierungsvorgangs und zur Rückgabe der Ergebnisse des Vorgangs verwendet werden kann.

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

Sobald der Vorgang abgeschlossen ist, kann QGeoCodeReply::locations() verwendet werden, um die Ergebnisse abzurufen, die aus einer Liste von QGeoLocation Objekten bestehen. Diese Objekte stellen eine Kombination aus Koordinaten- und Adressdaten dar.

Wenn limit -1 ist, wird die gesamte Ergebnismenge zurückgegeben, andernfalls werden höchstens limit Ergebnisse zurückgegeben.

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

Die Ergebnisse limit und offset werden zusammen verwendet, um das Paging zu implementieren.

Wenn bounds nicht null und ein gültiger QGeoShape ist, wird er verwendet, um die Ergebnisse auf diejenigen zu beschränken, die in bounds enthalten sind.

Der Benutzer ist für das Löschen des zurückgegebenen Antwortobjekts verantwortlich, obwohl dies in dem mit QGeoCodingManager::finished(), QGeoCodingManager::errorOccurred(), QGeoCodeReply::finished() oder QGeoCodeReply::errorOccurred() verbundenen Slot mit deleteLater() erfolgen kann.

QLocale QGeoCodingManager::locale() const

Gibt das Gebietsschema zurück, das verwendet wird, um dem Geokodierungsmanager mitzuteilen, welche Sprache für die Ergebnisse zu verwenden ist.

Siehe auch setLocale().

QString QGeoCodingManager::managerName() const

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

Die Kombination aus managerName() und managerVersion() sollte in den 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 in den Plugin-Implementierungen eindeutig sein.

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

Beginnt die umgekehrte Geokodierung von coordinate. Bei der umgekehrten Geokodierung geht es darum, eine Adresse zu finden, die einer bestimmten Koordinate entspricht.

Es wird ein Objekt QGeoCodeReply zurückgegeben, das zur Verwaltung des Vorgangs der umgekehrten Geokodierung und zur Rückgabe der Ergebnisse verwendet werden kann.

Dieser Manager und das zurückgegebene Objekt QGeoCodeReply geben 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 ausgegeben.

Zu diesem Zeitpunkt kann QGeoCodeReply::locations() verwendet werden, um die Ergebnisse abzurufen, die aus einer Liste von QGeoLocation Objekten bestehen. Diese Objekte stellen eine Kombination aus Koordinaten- und Adressdaten dar.

Die in den Ergebnissen zurückgegebenen Koordinatendaten können sich von coordinate unterscheiden. Dies ist in der Regel der Fall, wenn das Backend des umgekehrten Geokodierungsdienstes die Koordinaten so verschiebt, dass sie näher an den übereinstimmenden Adressen liegen, oder wenn das Backend Ergebnisse auf mehreren Detailebenen zurückgibt.

Wenn das Backend des umgekehrten Geokodierungsdienstes mehrere Ergebnisse zurückgibt, werden diese in der Reihenfolge der Spezifität bereitgestellt. Dies ist normalerweise der Fall, wenn das Backend für die umgekehrte Geokodierung über mehrere Detailebenen hinweg konfiguriert ist. Beispielsweise geben einige Dienste Adress- und Koordinatenpaare für die Straßenadresse, die Stadt, das Bundesland und das Land zurück.

Wenn bounds nicht null und eine gültige QGeoRectangle ist, wird sie verwendet, um die Ergebnisse auf diejenigen zu beschränken, die in bounds enthalten sind.

Der Benutzer ist für das Löschen des zurückgegebenen Antwortobjekts verantwortlich, obwohl dies in dem mit QGeoCodingManager::finished(), QGeoCodingManager::errorOccurred(), QGeoCodeReply::finished() oder QGeoCodeReply::errorOccurred() verbundenen Slot mit deleteLater() erfolgen kann.

void QGeoCodingManager::setLocale(const QLocale &locale)

Legt das von diesem Manager zu verwendende Gebietsschema auf locale fest.

Wenn dieser Geokodierungsmanager die Rückgabe der Ergebnisse in verschiedenen Sprachen unterstützt, werden sie in der Sprache von locale zurückgegeben.

Das verwendete Gebietsschema ist standardmäßig das Systemgebietsschema, wenn dies nicht festgelegt ist.

Siehe auch locale().

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