RouteModel QML Type
Le type RouteModel permet d'accéder aux itinéraires. Plus d'informations...
| Import Statement: | import QtLocation 6.11 |
| Since: | QtLocation 5.5 |
Propriétés
- autoUpdate : bool
- count : int
- error : enumeration
- errorString : string
- measurementSystem : Locale::MeasurementSystem
- plugin : Plugin
- query : RouteQuery
- status : enumeration
Méthodes
Description détaillée
Le type RouteModel est utilisé dans le cadre d'un regroupement de modèles et de vues pour récupérer des itinéraires géographiques auprès d'un fournisseur d'arrière-plan. Les itinéraires comprennent des données sur les itinéraires routiers entre deux points, les itinéraires pédestres avec plusieurs points de repère et divers autres concepts similaires. Il fonctionne de la même manière que les autres types de modèles en QML (voir par exemple ListModel) et interagit avec des vues telles que MapItemView, et ListView.
Comme pour Map et GeocodeModel, toutes les données nécessaires au fonctionnement d'un RouteModel proviennent d'un plugin de services. Celui-ci est contenu dans la propriété plugin et doit être défini avant que le RouteModel ne puisse effectuer un travail utile.
Une fois le plugin activé, créez un site RouteQuery avec les points de passage et autres paramètres appropriés, et définissez la propriété query du RouteModel. Si autoUpdate est activé, la mise à jour se fera automatiquement. Dans le cas contraire, la méthode update peut être utilisée. Par défaut, autoUpdate est désactivé.
Les données stockées et renvoyées dans le modèle de route consistent en des objets route, sous la forme d'une liste portant le nom de rôle "routeData". Voir la documentation de route pour plus de détails sur sa structure et son contenu.
Exemple d'utilisation
L'extrait suivant est en deux parties : il montre d'abord la déclaration des objets, puis un court morceau de code procédural qui les utilise. Nous attribuons la valeur false à la propriété autoUpdate du modèle de route et appelons update une fois la requête configurée, afin d'éviter des requêtes supplémentaires inutiles au milieu de la configuration de la requête.
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()
}Documentation sur les propriétés
autoUpdate : bool
Cette propriété détermine si le modèle est automatiquement mis à jour en réponse aux modifications apportées à son site RouteQuery. La valeur par défaut de cette propriété est false.
Si vous attribuez la valeur "true" à cette propriété, notez que toute modification de l'objet RouteQuery défini dans la propriété query déclenchera l'envoi d'une nouvelle demande. Si vous modifiez de nombreuses propriétés du site RouteQuery alors que la fonction autoUpdate est activée, vous risquez de générer un grand nombre de demandes inutiles (qui seront ensuite rejetées).
count : int [read-only]
Cette propriété indique le nombre d'itinéraires que le modèle possède actuellement. Vous pouvez notamment utiliser cette valeur pour accéder aux itinéraires via la méthode QtLocation::RouteModel::get.
error : enumeration [read-only]
Cette propriété en lecture seule contient la dernière valeur d'erreur de la demande de routage.
- RouteModel.NoError - Aucune erreur ne s'est produite.
- RouteModelCommunicationError - Une erreur s'est produite lors de la communication avec le fournisseur de services.
- RouteModel.EngineNotSetError - La propriété plugin du modèle n'a pas été définie ou aucun gestionnaire de routage n'est associé au plugin.
- RouteModelMissingRequiredParameterError - Un paramètre requis n'a pas été spécifié.
- RouteModel.ParseError - La réponse du fournisseur de services est dans un format non reconnaissable.
- RouteModel.UnknownError - Une erreur s'est produite qui n'entre dans aucune des autres catégories.
- RouteModel.UnknownParameterError - Le plugin n'a pas reconnu l'un des paramètres qui lui ont été fournis.
- RouteModel.UnsupportedOptionError - L'opération demandée n'est pas supportée par le fournisseur de routage. Cela peut se produire lorsque le moteur chargé ne prend pas en charge un type particulier de demande de routage.
errorString : string [read-only]
Cette propriété en lecture seule contient la présentation textuelle de la dernière erreur de routage. Si aucune erreur ne s'est produite ou si le modèle a été réinitialisé, une chaîne vide est renvoyée.
Une chaîne vide peut également être renvoyée si une erreur s'est produite sans représentation textuelle associée.
measurementSystem : Locale::MeasurementSystem
Cette propriété contient le système de mesure qui sera utilisé lors du calcul de l'itinéraire. Cette propriété est modifiée lorsque la propriété Plugin::locales de plugin change.
Si cette propriété est définie, elle doit l'être après la définition de la propriété plugin.
plugin : Plugin
Cette propriété indique le plugin qui fournit le service de routage proprement dit. Notez que tous les plugins ne fournissent pas nécessairement le routage (ils peuvent par exemple ne fournir que le géocodage ou les cartes).
Un plugin valide doit être défini pour que RouteModel puisse effectuer des opérations utiles.
Voir également Plugin.
query : RouteQuery
Cette propriété contient les données de la demande d'itinéraire. Les données principales sont les coordonnées des points de passage et les éventuelles préférences supplémentaires (moyens de transport, choses à éviter sur l'itinéraire, etc.)
status : enumeration [read-only]
Cette propriété en lecture seule contient l'état actuel du modèle.
- RouteModel.Null - Aucune demande d'itinéraire n'a été émise ou reset n'a été appelé.
- RouteModel.Ready - La ou les demandes d'itinéraire se sont terminées avec succès.
- RouteModel.Loading - Une demande d'acheminement a été émise mais n'est pas encore terminée.
- RouteModel.Error - Une erreur d'acheminement s'est produite, les détails se trouvent dans error et errorString
Documentation de la méthode
void cancel()
Annule les demandes en cours et efface les erreurs. L'état du modèle prend la valeur RouteModel.Null ou RouteModel.Ready.
route get(int index)
Renvoie l'itinéraire à l'adresse index spécifiée. Utilisez la propriété count pour vérifier le nombre d'itinéraires disponibles. Les itinéraires sont indexés à partir de zéro, de sorte que la plage accessible est 0...(count - 1).
Si vous accédez hors limites, un itinéraire vide est renvoyé et un avertissement est émis.
void reset()
Réinitialise le modèle. Toutes les données relatives à l'itinéraire sont effacées, toutes les demandes en cours sont abandonnées et les erreurs éventuelles sont effacées. L'état du modèle est fixé à RouteModel.Null
void update()
Demande à RouteModel de mettre à jour ses données. Cette fonction est particulièrement utile lorsque autoUpdate est désactivé, pour forcer une actualisation lorsque la requête a été modifiée.
© 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.