Auf dieser Seite

RouteModel QML Type

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

Import Statement: import QtLocation 6.12
Since: QtLocation 5.5

Eigenschaften

Methoden

Ausführliche Beschreibung

Der Typ „RouteModel“ wird als Teil einer Modell-Ansicht-Gruppierung verwendet, um geografische Routen von einem Backend-Anbieter abzurufen. Routen umfassen Daten zu Fahrwegen zwischen zwei Punkten, Fußwegen mit mehreren Wegpunkten und verschiedenen anderen ähnlichen Konzepten. Er funktioniert ähnlich wie andere Modelltypen in QML (siehe beispielsweise „ListModel“) und interagiert mit Ansichten wie „ MapItemView “ und „ ListView “.

Wie bei „ Map “ und „ GeocodeModel “ stammen alle Daten, die für die Funktion eines „RouteModel“ erforderlich sind, aus einem Dienst-Plugin. Dieses ist in der Eigenschaft „ plugin “ enthalten und muss festgelegt werden, bevor das „RouteModel“ nützliche Arbeit leisten kann.

Sobald das Plugin festgelegt ist, erstellen Sie ein „ RouteQuery “ mit den entsprechenden Wegpunkten und anderen Einstellungen und legen Sie die Eigenschaft „ query “ des „RouteModel“ fest. Wenn „ autoUpdate “ aktiviert ist, erfolgt die Aktualisierung automatisch. Andernfalls kann die Methode „ update “ verwendet werden. Standardmäßig ist „ autoUpdate “ deaktiviert.

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

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 „routeModel“ auf „false“ und rufen „ update “ erst auf, sobald die Abfrage eingerichtet ist, um unnötige zusätzliche Anfragen während der 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()
}

Dokumentation der Eigenschaften

autoUpdate : bool

Diese Eigenschaft legt fest, ob das Modell automatisch aktualisiert wird, wenn sich das ihm zugeordnete Objekt „ RouteQuery “ ändert. Der Standardwert dieser Eigenschaft ist „false“.

Wenn Sie diesen Wert auf „true“ setzen, beachten Sie bitte, dass bereits die geringste Änderung am „ RouteQuery “-Objekt, das in der Eigenschaft „ query “ festgelegt ist, das Senden einer neuen Anfrage auslöst. Wenn Sie bei aktivierter automatischer Aktualisierung („autoUpdate“) zahlreiche Eigenschaften des „ RouteQuery “ anpassen, kann dies zu einer großen Anzahl unnötiger (und später verworfener) Anfragen führen.

count : int [read-only]

Diese Eigenschaft gibt an, wie viele Routen das Modell derzeit enthält. Sie können diesen Wert unter anderem beim Zugriff auf Routen über die Methode QtLocation::RouteModel::get verwenden.

error : enumeration [read-only]

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

  • RouteModel. „NoError “ – Es ist kein Fehler aufgetreten.
  • RouteModel.CommunicationError – Bei der Kommunikation mit dem Dienstanbieter ist ein Fehler aufgetreten.
  • RouteModel.EngineNotSetError – Die Plugin-Eigenschaft des Modells wurde nicht festgelegt oder dem Plugin ist kein Routing-Manager zugeordnet.
  • 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 übergebenen Parameter nicht erkannt.
  • RouteModel.UnsupportedOptionError – Die angeforderte Operation wird vom Routing-Anbieter nicht unterstützt. Dies kann passieren, 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 Zeichenkette zurückgegeben.

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

measurementSystem : Locale::MeasurementSystem

Diese Eigenschaft enthält das Maßsystem, das bei der Berechnung der Route verwendet wird. Diese Eigenschaft ändert sich, wenn sich die Eigenschaft „ Plugin::locales “ von „ plugin “ ändert.

Wenn diese Eigenschaft festgelegt wird, muss dies erst geschehen, nachdem die Eigenschaft „ plugin “ festgelegt wurde.

plugin : Plugin

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

Es muss ein gültiges Plugin festgelegt werden, bevor der „ RouteModel “ sinnvolle Operationen ausführen kann.

Siehe auch „ Plugin “.

query : RouteQuery

Diese Eigenschaft enthält die Daten der Routenanfrage. Die wichtigsten Daten sind die Koordinaten der Wegpunkte sowie eventuelle weitere Präferenzen (Verkehrsmittel, Dinge, die auf der Route vermieden werden sollen, usw.).

status : enumeration [read-only]

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

  • RouteModel.Null – Es wurden noch keine Routenanfragen gesendet oder „ reset “ wurde aufgerufen.
  • RouteModel.Ready – Die Routenanfragen wurden erfolgreich abgeschlossen.
  • RouteModel.Loading – Eine Routenanfrage wurde gesendet, ist aber noch nicht abgeschlossen
  • RouteModel.Error – Es ist ein Routing-Fehler aufgetreten; Details finden Sie unter „ error “ und in der errorString

Methodendokumentation

void cancel()

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

route get(int index)

Gibt die Route unter der angegebenen Adresse „ index “ zurück. Verwenden Sie die Eigenschaft „ count “, um die Anzahl der verfügbaren Routen zu überprüfen. Die Routen sind ab Null indiziert, sodass der zugängliche Bereich 0...(count - 1) beträgt.

Bei einem Zugriff außerhalb dieses Bereichs wird eine leere Route zurückgegeben und eine Warnung ausgegeben.

void reset()

Setzt das Modell zurück. Alle Routendaten werden gelöscht, alle ausstehenden Anfragen werden abgebrochen und eventuelle Fehler werden zurückgesetzt. 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 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.