GeocodeModel QML Type
Der Typ GeocodeModel bietet Unterstützung für Suchvorgänge im Zusammenhang mit geografischen Informationen. Mehr...
Import Statement: | import QtLocation 6.8 |
Since: | QtLocation 5.5 |
Eigenschaften
- autoUpdate : bool
- bounds : geoshape
- count : int
- error : enumeration
- errorString : string
- limit : int
- offset : int
- plugin : Plugin
- query : QVariant
- status : enumeration
Signale
Methoden
Detaillierte Beschreibung
Der Typ GeocodeModel wird als Teil einer Modell-/Ansichtsgruppierung verwendet, um Adressen oder Suchstrings mit geografischen Orten abzugleichen. Wie die erzeugten geografischen Orte verwendet oder angezeigt werden, wird durch die dem GeocodeModel zugeordneten Ansichten bestimmt (z. B. MapItemView oder ListView).
Wie bei Map und RouteModel stammen alle Daten, die ein GeocodeModel benötigt, aus einem Dienste-Plugin. Dieses ist in der Eigenschaft plugin enthalten und muss gesetzt werden, bevor das GeocodeModel irgendeine nützliche Arbeit verrichten kann.
Sobald das Plugin gesetzt ist, kann die Eigenschaft query verwendet werden, um die Adresse oder die Suchzeichenfolge anzugeben, die übereinstimmen soll. Wenn autoUpdate aktiviert ist, wird das Modell seine Ausgabe automatisch aktualisieren. Andernfalls kann die Methode update verwendet werden. Standardmäßig ist autoUpdate deaktiviert.
Die im GeocodeModel gespeicherten und zurückgegebenen Daten bestehen aus Location Objekten in Form einer Liste mit dem Rollennamen "locationData". Weitere Einzelheiten zum Aufbau und Inhalt der Liste finden Sie in der Dokumentation zu Location.
Beispielverwendung
Der folgende Ausschnitt ist zweiteilig und zeigt zum einen die Deklaration von Objekten und zum anderen ein kurzes Stück prozeduralen 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 diesem Fall einen String-Wert in query verwenden, würde nur eine Aktualisierung stattfinden, auch wenn autoUpdate aktiviert ist. Wenn wir jedoch ein Address Objekt zur Verfügung stellen würden, könnten wir versehentlich mehrere Anfragen auslösen, während wir seine Eigenschaften einstellen.
Plugin {
id: aPlugin
}
GeocodeModel {
id: geocodeModel
plugin: aPlugin
autoUpdate: false
}
{ geocodeModel.query = "53 Brandl St, Eight Mile Plains, Australia" geocodeModel.update() }
Eigenschaft Dokumentation
autoUpdate : bool |
Diese Eigenschaft steuert, ob das Modell als Reaktion auf Änderungen in seiner angehängten Abfrage automatisch aktualisiert wird. Der Standardwert für diese Eigenschaft ist false.
Wenn Sie diesen Wert auf "true" setzen und eine Adresse oder coordinate als Abfrage verwenden, beachten Sie, dass jede Änderung der Eigenschaften des Objekts eine neue Anfrage auslöst, die gesendet wird. Wenn Sie viele Eigenschaften des Objekts anpassen, während autoUpdate aktiviert ist, kann dies zu einer großen Anzahl von nutzlosen (und später verworfenen) Anfragen führen.
bounds : geoshape |
Diese Eigenschaft enthält den Begrenzungsbereich, der verwendet wird, um die Ergebnisse auf diejenigen zu beschränken, die innerhalb dieses Bereichs liegen. Dies ist besonders nützlich, wenn die Abfrage nur teilweise ausgefüllt ist, da der Dienst versuchen wird, alle Übereinstimmungen mit den angegebenen Daten (rückwärts) zu geokodieren.
Akzeptierte Typen sind georectangle und geocircle.
count : int |
Diese Eigenschaft gibt an, wie viele Standorte das Modell derzeit hat. Sie können diesen Wert unter anderem verwenden, wenn Sie über die GeocodeModel::get -Methode auf Orte zugreifen.
error : enumeration |
Diese schreibgeschützte Eigenschaft enthält den letzten Fehlerwert der Geokodierungsanfrage.
- GeocodeModel.NoError - Es ist kein Fehler aufgetreten.
- GeocodeModel.CombinationError - Beim Kombinieren von Ergebnissen 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 gesetzt oder es ist kein Geokodierungsmanager mit dem Plugin verbunden.
- 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 ihm übergebenen Parameter nicht erkannt.
- GeocodeModel.UnsupportedOptionError - Die angeforderte Operation wird vom Geokodierungsanbieter nicht unterstützt. Dies kann vorkommen, wenn die geladene Engine eine bestimmte Geokodierungsanforderung nicht unterstützt, z. B. die umgekehrte Geokodierung.
errorString : string |
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 Zeichenfolge zurückgegeben.
Eine leere Zeichenkette kann auch zurückgegeben werden, wenn ein Fehler aufgetreten ist, der keine zugehörige textuelle Darstellung hat.
limit : int |
Diese Eigenschaft enthält die maximale Anzahl von Ergebnissen. Die Werte limit und offset sind nur bei der Geokodierung mit freien Zeichenfolgen anwendbar (d. h. sie werden nicht berücksichtigt, wenn Adressen oder Koordinaten in der Suchanfrage verwendet werden).
Wenn limit -1 ist, wird die gesamte Ergebnismenge zurückgegeben, andernfalls werden höchstens limit-Ergebnisse zurückgegeben. Die Ergebnisse von limit und offset können zusammen verwendet werden, um ein Paging zu implementieren.
offset : int |
Diese Eigenschaft gibt an, dass die erste "Offset"-Nummer der Ergebnisse nicht zurückgegeben werden soll. Die Werte limit und offset sind nur bei freier String-Geokodierung anwendbar (d. h. sie werden bei der Verwendung von Adressen oder Koordinaten in der Suchanfrage nicht berücksichtigt).
Die Ergebnisse limit und offset können zusammen verwendet werden, um ein Paging zu implementieren.
plugin : Plugin |
Diese Eigenschaft enthält das Plugin, das den eigentlichen Geokodierungsdienst bereitstellt. Beachten Sie, dass nicht alle Plugins notwendigerweise Geokodierung anbieten (sie könnten z. B. nur Routing oder Karten anbieten).
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 Koordinate)
- coordinate - Umgekehrte Geokodierung (Koordinate zu Adresse)
- string - Geokodierung (Adresse zu Koordinate)
status : enumeration |
Diese schreibgeschützte Eigenschaft enthält den aktuellen Status des Modells.
- GeocodeModel.Null - Es wurden keine Geokodierungsanforderungen ausgegeben oder reset wurde aufgerufen.
- GeocodeModel.Ready - Die Geokodierungsanforderung(en) wurde(n) erfolgreich abgeschlossen.
- GeocodeModel.Loading - Die Geokodierungsanforderung wurde ausgegeben, aber noch nicht beendet.
- GeocodeModel.Error - Es ist ein Geokodierungsfehler aufgetreten, Details finden Sie unter error und errorString
Signal-Dokumentation
locationsChanged() |
Dieses Signal wird ausgegeben, wenn sich Orte im Modell geändert haben.
Hinweis: Der entsprechende Handler ist onLocationsChanged
.
Siehe auch count.
Dokumentation der Methode
void cancel() |
Bricht alle ausstehenden Anfragen ab und löscht Fehler. Der Modellstatus wird entweder auf GeocodeModel.Null oder GeocodeModel.Ready gesetzt.
Gibt die Location unter der angegebenen index zurück. Verwenden Sie die Eigenschaft count, um die Anzahl der verfügbaren Orte zu überprüfen. Die Orte werden von Null an indiziert, so dass der zugängliche Bereich 0...(count - 1) ist.
Wenn Sie außerhalb des Bereichs zugreifen, wird eine Null (Null-Objekt) zurückgegeben und eine Warnung ausgegeben.
void reset() |
Setzt das Modell zurück. Alle Ortsdaten werden gelöscht, alle ausstehenden Anfragen werden abgebrochen und mögliche Fehler werden gelöscht. 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 eine Aktualisierung zu erzwingen, wenn die Abfrage geändert wurde.
© 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.