RouteModel QML Type

Der Typ RouteModel ermöglicht den Zugriff auf Routen. Mehr...

Import Statement: import QtLocation 6.8
Since: QtLocation 5.5

Eigenschaften

Methoden

Detaillierte Beschreibung

Der Typ RouteModel wird als Teil einer Modell/Ansichtsgruppierung verwendet, um geografische Routen von einem Backend-Anbieter abzurufen. Zu den Routen gehören Daten über Fahrtrichtungen zwischen zwei Punkten, Wegbeschreibungen mit mehreren Wegpunkten und verschiedene andere ähnliche Konzepte. Es funktioniert ähnlich wie andere Modelltypen in QML (siehe zum Beispiel ListModel) und interagiert mit Ansichten wie MapItemView und ListView.

Wie Map und GeocodeModel stammen alle Daten für ein RouteModel von einem Dienste-Plugin. Dieses ist in der Eigenschaft plugin enthalten und muss eingestellt werden, bevor das RouteModel irgendeine nützliche Arbeit verrichten kann.

Sobald das Plugin gesetzt ist, erstellen Sie ein RouteQuery mit den entsprechenden Wegpunkten und anderen Einstellungen und setzen die Eigenschaft query des RouteModel. Wenn autoUpdate aktiviert ist, wird die Aktualisierung automatisch durchgeführt. Andernfalls kann die Methode update verwendet werden. Standardmäßig ist autoUpdate deaktiviert.

Die im RouteModel gespeicherten und zurückgegebenen Daten bestehen aus route Objekten in Form einer Liste mit dem Rollennamen "routeData". Weitere Einzelheiten zum Aufbau und Inhalt der Liste finden Sie in der Dokumentation zu route.

Beispielverwendung

Das folgende Snippet ist zweiteilig und zeigt erstens die Deklaration von Objekten und zweitens ein kurzes Stück prozeduralen Code, der diese verwendet. Wir setzen die Eigenschaft autoUpdate des routeModel auf false und rufen update auf, sobald die Abfrage eingerichtet ist, um unnötige zusätzliche Anfragen auf halbem Weg durch die Einrichtung der Abfrage zu vermeiden.

Plugin {
    id: aPlugin
    name: "osm"
}

RouteQuery {
    id: aQuery
}

RouteModel {
    id: routeModel
    plugin: aPlugin
    query: aQuery
    autoUpdate: false
}
{
    aQuery.addWaypoint(...)
    aQuery.addWaypoint(...)
    aQuery.travelModes = ...
    routeModel.update()
}

Eigenschaft Dokumentation

autoUpdate : bool

Diese Eigenschaft steuert, ob das Modell als Reaktion auf Änderungen in den angehängten RouteQuery automatisch aktualisiert wird. Der Standardwert für diese Eigenschaft ist false.

Wenn Sie diesen Wert auf "true" setzen, beachten Sie, dass jede Änderung des RouteQuery Objekts, das in der query Eigenschaft eingestellt ist, eine neue Anfrage auslöst. Wenn Sie viele Eigenschaften von RouteQuery mit aktiviertem autoUpdate anpassen, kann dies zu einer großen Anzahl von nutzlosen (und später verworfenen) Anfragen führen.


count : int [read-only]

Diese Eigenschaft gibt an, wie viele Routen das Modell derzeit hat. Sie können diesen Wert unter anderem verwenden, wenn Sie über die QtLocation::RouteModel::get -Methode auf Routen zugreifen.


error : enumeration [read-only]

Diese schreibgeschützte Eigenschaft enthält den letzten Fehlerwert der Routing-Anfrage.

  • RouteModel.NoError - Es ist kein Fehler aufgetreten.
  • RouteModel.CommunicationError - Ein Fehler ist bei der Kommunikation mit dem Dienstanbieter aufgetreten.
  • RouteModel.EngineNotSetError - Die Plugin-Eigenschaft des Modells wurde nicht gesetzt oder es ist kein Routing-Manager mit dem Plugin verbunden.
  • RouteModel.MissingRequiredParameterError - Ein erforderlicher Parameter wurde nicht angegeben.
  • RouteModel.ParseError - Die Antwort des Dienstanbieters lag in einem nicht erkennbaren Format vor.
  • RouteModel.UnknownError - Es ist ein Fehler aufgetreten, der in keine der anderen Kategorien passt.
  • RouteModel.UnknownParameterError - Das Plugin hat einen der ihm übergebenen Parameter nicht erkannt.
  • RouteModel.UnsupportedOptionError - Die angeforderte Operation wird vom Routing-Anbieter nicht unterstützt. Dies kann vorkommen, wenn die geladene Engine einen bestimmten Typ von Routing-Anfrage nicht unterstützt.

errorString : string [read-only]

Diese schreibgeschützte Eigenschaft enthält die textuelle Darstellung des letzten Routing-Fehlers. 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.


measurementSystem : Locale::MeasurementSystem

Diese Eigenschaft enthält das Messsystem, das bei der Berechnung der Route verwendet wird. Diese Eigenschaft wird geändert, wenn sich die Eigenschaft Plugin::locales von plugin ändert.

Wenn diese Eigenschaft festgelegt wird, muss sie nach der Festlegung der Eigenschaft plugin festgelegt werden.


plugin : Plugin

Diese Eigenschaft enthält das Plugin, das den eigentlichen Routing-Dienst bereitstellt. Beachten Sie, dass nicht alle Plugins notwendigerweise Routing anbieten (sie könnten zum Beispiel nur Geokodierung oder Karten anbieten).

Ein gültiges Plugin muss gesetzt werden, bevor RouteModel irgendwelche nützlichen Operationen durchführen kann.

Siehe auch Plugin.


query : RouteQuery

Diese Eigenschaft enthält die Daten der Routenanforderung. Die primären Daten sind die Wegpunktkoordinaten und mögliche weitere Präferenzen (Fortbewegungsmittel, Dinge, die auf der Route zu vermeiden sind usw.).


status : enumeration [read-only]

Diese Eigenschaft ist schreibgeschützt und enthält den aktuellen Status des Modells.

  • RouteModel.Null - Es wurden keine Routenanfragen gestellt oder reset wurde aufgerufen.
  • RouteModel.Ready - Die Routenanforderung(en) wurde(n) erfolgreich abgeschlossen.
  • RouteModel.Loading - Routenanforderung wurde ausgegeben, aber noch nicht beendet
  • RouteModel.Error - Ein Routing-Fehler ist aufgetreten, Details sind in error und errorString

Dokumentation der Methode

void cancel()

Storniert alle ausstehenden Anfragen und löscht Fehler. Der Modellstatus wird entweder auf RouteModel.Null oder RouteModel.Ready gesetzt.


route get(int index)

Gibt die Route unter der angegebenen index zurück. Verwenden Sie die Eigenschaft count, um die Anzahl der verfügbaren Routen zu überprüfen. Die Routen werden von Null an indiziert, der zugängliche Bereich ist also 0...(count - 1).

Wenn Sie außerhalb des Bereichs zugreifen, wird eine leere Route zurückgegeben und eine Warnung ausgegeben.


void reset()

Setzt das Modell zurück. Alle Streckendaten werden gelöscht, alle ausstehenden Anfragen werden abgebrochen und mögliche Fehler werden gelöscht. Der Modellstatus wird auf RouteModel.Null gesetzt.


void update()

Weist die RouteModel 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.