Auf dieser Seite

GeocodeModel QML Type

Der Typ „GeocodeModel“ bietet Unterstützung für Suchvorgänge im Zusammenhang mit geografischen Informationen. Mehr...

Import Statement: import QtLocation 6.12
Since: QtLocation 5.5

Eigenschaften

Signale

Methoden

Ausführliche Beschreibung

Der Typ „GeocodeModel“ wird als Teil einer Modell-Ansicht-Gruppierung verwendet, um Adressen oder Suchbegriffe mit geografischen Orten abzugleichen. Wie die generierten geografischen Orte verwendet oder angezeigt werden, wird durch die am „GeocodeModel“ angehängten Ansichten (z. B. „ MapItemView “ oder „ ListView “) festgelegt.

Wie bei Map und RouteModel stammen alle Daten, die für die Funktion eines „GeocodeModel“ erforderlich sind, aus einem Services-Plugin. Diese sind in der Eigenschaft „ plugin “ enthalten, die festgelegt werden muss, bevor das „GeocodeModel“ seine Aufgabe erfüllen kann.

Sobald das Plugin festgelegt ist, kann die Eigenschaft „ query “ verwendet werden, um die zu suchende Adresse oder Suchzeichenfolge anzugeben. Wenn „ autoUpdate “ aktiviert ist, aktualisiert das Modell seine Ausgabe automatisch. Andernfalls kann die Methode „ update “ verwendet werden. Standardmäßig ist „ autoUpdate “ deaktiviert.

Die im GeocodeModel gespeicherten und zurückgegebenen Daten bestehen aus „ Location “-Objekten, die als Liste mit dem Rollennamen „locationData“ vorliegen. Weitere Einzelheiten zur Struktur und zum Inhalt finden Sie in der Dokumentation zu „ Location “.

Anwendungsbeispiel

Der folgende Codeausschnitt besteht aus zwei Teilen: Zunächst wird die Deklaration der Objekte gezeigt, anschließend ein kurzer Abschnitt mit prozeduralem Code, der diese verwendet. Wir setzen die Eigenschaft „ autoUpdate “ des geocodeModel auf „false“ und rufen „ update “ auf, sobald die Abfrage eingerichtet ist. Da wir in „ query “ einen String-Wert verwenden, würde in diesem Fall nur eine Aktualisierung erfolgen, selbst wenn „ autoUpdate “ aktiviert wäre. Würden wir jedoch ein „ Address “-Objekt bereitstellen, könnten wir beim Festlegen seiner Eigenschaften unbeabsichtigt mehrere Anfragen auslösen.

Plugin {
    id: aPlugin
}

GeocodeModel {
    id: geocodeModel
    plugin: aPlugin
    autoUpdate: false
}
{
    geocodeModel.query = "53 Brandl St, Eight Mile Plains, Australia"
    geocodeModel.update()
}

Dokumentation zu den Eigenschaften

autoUpdate : bool

Diese Eigenschaft legt fest, ob das Modell als Reaktion auf Änderungen an der zugehörigen Abfrage automatisch aktualisiert wird. Der Standardwert dieser Eigenschaft ist „false“.

Wenn Sie diesen Wert auf „true“ setzen und eine „Address“- oder „ geoCoordinate “-Abfrage verwenden, beachten Sie bitte, dass bereits die geringste Änderung an den Eigenschaften des Objekts das Senden einer neuen Anfrage auslöst. Wenn Sie bei aktiviertem „autoUpdate“ zahlreiche Eigenschaften des Objekts anpassen, kann dies zu einer großen Anzahl unnötiger (und später verworfener) Anfragen führen.

bounds : geoShape

Diese Eigenschaft enthält den Begrenzungsbereich, der dazu dient, die Ergebnisse auf diejenigen innerhalb dieses Bereichs zu beschränken. Dies ist besonders nützlich, wenn die Abfrage nur teilweise ausgefüllt ist, da der Dienst versuchen wird, alle Treffer für die angegebenen Daten (umgekehrt) zu geokodieren.

Zulässige Typen sind „ geoRectangle “ und „ geoCircle “.

count : int [read-only]

Diese Eigenschaft gibt an, wie viele Standorte das Modell derzeit hat. Sie können diesen Wert unter anderem beim Zugriff auf Standorte über die Methode „ GeocodeModel::get “ verwenden.

error : enumeration [read-only]

Diese schreibgeschützte Eigenschaft enthält den aktuellsten Fehlerwert der Geokodierungsanfrage.

  • GeocodeModel. „NoError “ – Es ist kein Fehler aufgetreten.
  • GeocodeModel.CombinationError – Beim Zusammenführen der Ergebnisse aus mehreren Quellen ist ein Fehler aufgetreten.
  • GeocodeModel.CommunicationError – Bei der Kommunikation mit dem Dienstanbieter ist ein Fehler aufgetreten.
  • GeocodeModel.EngineNotSetError – Die Plugin-Eigenschaft des Modells wurde nicht festgelegt oder es ist kein Geokodierungsmanager mit dem Plugin verknüpft.
  • GeocodeModel.MissingRequiredParameterError – Ein erforderlicher Parameter wurde nicht angegeben.
  • GeocodeModel.ParseError – Die Antwort des Dienstanbieters lag in einem nicht erkennbaren Format vor.
  • GeocodeModel.UnknownError – Es ist ein Fehler aufgetreten, der in keine der anderen Kategorien passt.
  • GeocodeModel.UnknownParameterError – Das Plugin hat einen der übergebenen Parameter nicht erkannt.
  • GeocodeModel.UnsupportedOptionError – Die angeforderte Operation wird vom Geokodierungsanbieter nicht unterstützt. Dies kann passieren, wenn die geladene Engine eine bestimmte Geokodierungsanfrage, wie z. B. die umgekehrte Geokodierung, nicht unterstützt.

errorString : string [read-only]

Diese schreibgeschützte Eigenschaft enthält die textuelle Darstellung des letzten Geokodierungsfehlers. Wenn kein Fehler aufgetreten ist oder das Modell zurückgesetzt wurde, wird eine leere Zeichenkette zurückgegeben.

Eine leere Zeichenkette kann auch zurückgegeben werden, wenn ein Fehler aufgetreten ist, für den keine textuelle Darstellung vorhanden ist.

limit : int

Diese Eigenschaft gibt die maximale Anzahl der Ergebnisse an. Die Werte für „limit“ und „ offset “ gelten nur bei der Geokodierung mit freien Zeichenfolgen (das heißt, sie werden bei der Verwendung von Adressen oder Koordinaten in der Suchanfrage nicht berücksichtigt).

Ist „limit“ auf -1 gesetzt, wird die gesamte Ergebnismenge zurückgegeben; andernfalls werden höchstens „limit“ Ergebnisse zurückgegeben. Die Werte für „limit“ und „ offset “ können gemeinsam verwendet werden, um eine Paginierung zu implementieren.

offset : int

Diese Eigenschaft legt fest, dass die ersten „Offset“-Einträge der Ergebnisse nicht zurückgegeben werden sollen. Die Werte für „ limit “ und „offset“ gelten nur bei der Geokodierung freier Zeichenfolgen (das heißt, sie werden bei der Verwendung von Adressen oder Koordinaten in der Suchanfrage nicht berücksichtigt).

Die Ergebnisse von „ limit “ und „offset“ können gemeinsam verwendet werden, um eine Paginierung zu implementieren.

plugin : Plugin

Diese Eigenschaft enthält das Plugin, das den eigentlichen Geokodierungsdienst bereitstellt. Beachten Sie, dass nicht alle Plugins zwangsläufig Geokodierung anbieten (sie könnten beispielsweise nur Routenplanung oder Karten bereitstellen).

Siehe auch Plugin.

query : QVariant

Diese Eigenschaft enthält die Daten der Geokodierungsanfrage. Die Eigenschaft akzeptiert drei Arten von Abfragen, die sowohl die Daten als auch die Art der auszuführenden Aktion bestimmen:

  • Adresse – Geokodierung (Adresse zu Koordinaten)
  • geoCoordinate – Umgekehrte Geokodierung (Koordinaten zu Adresse)
  • Zeichenkette – Geokodierung (Adresse zu Koordinaten)

status : enumeration [read-only]

Diese schreibgeschützte Eigenschaft enthält den aktuellen Status des Modells.

  • GeocodeModel.Null – Es wurden keine Geokodierungsanfragen gesendet oder die Methode „ reset “ wurde aufgerufen.
  • GeocodeModel.Ready – Die Geokodierungsanfragen wurden erfolgreich abgeschlossen.
  • GeocodeModel.Loading – Eine Geokodierungsanfrage wurde gesendet, ist aber noch nicht abgeschlossen
  • GeocodeModel.Error – Es ist ein Geokodierungsfehler aufgetreten; Details finden Sie in „ error “ und errorString

Signal-Dokumentation

locationsChanged()

Dieses Signal wird ausgelöst, wenn sich Positionen im Modell geändert haben.

Hinweis: Der entsprechende Handler ist „ onLocationsChanged “.

Siehe auch count.

Methodendokumentation

void cancel()

Storniert alle offenen Anfragen und behebt Fehler. Der Modellstatus wird entweder auf „ GeocodeModel.Null“ oder „ GeocodeModel.Ready“ gesetzt.

Location get(int index)

Gibt die „ Location “ an der angegebenen Adresse „ index “ zurück. Verwenden Sie die Eigenschaft „ count “, um die Anzahl der verfügbaren Speicherplätze zu überprüfen. Die Speicherplätze sind ab Null indiziert, sodass der zugängliche Bereich 0...(count - 1) ist.

Bei einem Zugriff außerhalb dieses Bereichs wird ein Nullwert (Null-Objekt) zurückgegeben und eine Warnung ausgegeben.

void reset()

Setzt das Modell zurück. Alle Standortdaten werden gelöscht, alle ausstehenden Anfragen werden abgebrochen und eventuelle Fehler werden behoben. Der Modellstatus wird auf „ GeocodeModel.Null“ gesetzt.

void update()

Weist die „ GeocodeModel “ an, ihre Daten zu aktualisieren. Dies ist besonders nützlich, wenn „ autoUpdate “ deaktiviert ist, um bei einer Änderung der Abfrage eine Aktualisierung zu erzwingen.

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