RouteModel QML Type
Le type RouteModel permet d'accéder aux itinéraires. En savoir plus…
| Import Statement: | import QtLocation 6.12 |
| 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 groupe modèle/vue pour récupérer des itinéraires géographiques auprès d'un fournisseur backend. Les itinéraires comprennent des données sur les itinéraires routiers entre deux points, les itinéraires piétonniers comportant plusieurs points de passage, ainsi que divers autres concepts similaires. Il fonctionne de manière très similaire aux autres types de modèles dans QML (voir par exemple ListModel) et interagit avec des vues telles que MapItemView et ListView.
Tout comme Map et GeocodeModel, toutes les données nécessaires au fonctionnement d’un RouteModel proviennent d’un plugin de services. Celles-ci sont contenues dans la propriété plugin, qui doit être définie avant que le RouteModel ne puisse effectuer aucune opération utile.
Une fois le plugin configuré, créez un objet ` RouteQuery ` avec les points de passage appropriés et les autres paramètres, puis définissez la propriété ` query ` du `RouteModel`. Si la mise à jour automatique ( autoUpdate ) est activée, la mise à jour se fera automatiquement. Sinon, vous pouvez utiliser la méthode ` update `. Par défaut, la mise à jour automatique ( autoUpdate ) est désactivée.
Les données stockées et renvoyées dans le RouteModel sont constituées d’objets « route », sous la forme d’une liste portant le nom de rôle « routeData ». Consultez la documentation relative à route pour plus de détails sur sa structure et son contenu.
Exemple d’utilisation
L'extrait de code suivant comporte deux parties : la première présente la déclaration des objets, et la seconde un court fragment de code procédural les utilisant. Nous définissons la propriété ` autoUpdate ` du `routeModel` sur `false`, puis appelons ` update ` une fois la requête configurée, afin d’éviter des requêtes supplémentaires inutiles en cours de 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 des propriétés
autoUpdate : bool
Cette propriété détermine si le modèle se met automatiquement à jour en réponse aux modifications apportées à l'objet ` RouteQuery` qui lui est associé. La valeur par défaut de cette propriété est « false ».
Si vous définissez cette valeur sur « true », notez que la moindre modification de l'objet « RouteQuery » défini dans la propriété « query » déclenchera l'envoi d'une nouvelle requête. Si vous modifiez de nombreuses propriétés de l'« RouteQuery » alors que l'option « autoUpdate » est activée, cela peut générer un grand nombre de requêtes inutiles (qui seront par la suite ignorées).
count : int [read-only]
Cette propriété indique le nombre de parcours que le modèle comporte actuellement. Vous pouvez notamment utiliser cette valeur lorsque vous accédez aux parcours 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 requête de routage.
- RouteModel.NoError - Aucune erreur ne s'est produite.
- RouteModel.CommunicationError - 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.
- RouteModel.MissingRequiredParameterError - Un paramètre obligatoire n'a pas été spécifié.
- RouteModel.ParseError - La réponse du fournisseur de services était 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 a été fourni.
- RouteModel.UnsupportedOptionError - L'opération demandée n'est pas prise en charge par le fournisseur de routage. Cela peut se produire lorsque le moteur chargé ne prend pas en charge un type particulier de requête de routage.
errorString : string [read-only]
Cette propriété en lecture seule contient la description 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 qui ne dispose d'aucune représentation textuelle associée.
measurementSystem : Locale::MeasurementSystem
Cette propriété définit le système de mesure qui sera utilisé pour le calcul de l'itinéraire. Elle est modifiée lorsque la propriété « Plugin::locales » de « plugin » est modifiée.
Si vous définissez cette propriété, vous devez le faire après avoir défini la propriété « plugin ».
plugin : Plugin
Cette propriété contient le plugin qui fournit le service de calcul d'itinéraire proprement dit. Notez que tous les plugins ne fournissent pas nécessairement un service de calcul d'itinéraire (ils peuvent, par exemple, ne proposer que le géocodage ou des cartes).
Un plugin valide doit être défini avant que l’ RouteModel e puisse effectuer des opérations utiles.
Voir également Plugin.
query : RouteQuery
Cette propriété contient les données relatives à la demande d'itinéraire. Les données principales sont les coordonnées des points de passage et d'éventuelles préférences supplémentaires (moyen de transport, éléments à éviter sur le trajet, etc.).
status : enumeration [read-only]
Cette propriété en lecture seule contient l'état actuel du modèle.
- RouteModel.Null : aucune requête de routage n'a été émise ou la méthode ` reset ` a été appelée.
- RouteModel.Ready : la ou les requêtes de routage se sont terminées avec succès.
- RouteModel.Loading : une requête de routage a été émise mais n'est pas encore terminée
- RouteModel.Error : une erreur de routage s'est produite ; les détails se trouvent dans ` error ` et errorString
la documentation relative à la méthode.
void cancel()
Annule toutes les requêtes en attente et efface les erreurs. L'état du modèle sera défini soit sur « RouteModel.Null », soit sur « RouteModel.Ready ».
route get(int index)
Renvoie l'itinéraire à l'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 ; la plage accessible va donc de 0 à (count - 1).
Si vous accédez à un index hors limites, un itinéraire vide est renvoyé et un avertissement est émis.
void reset()
Réinitialise le modèle. Toutes les données d'itinéraire sont effacées, les requêtes en cours sont annulées et les éventuelles erreurs sont effacées. L'état du modèle sera défini sur « RouteModel.Null ».
void update()
Demande à l'RouteModel e de mettre à jour ses données. Cette fonction est particulièrement utile lorsque l'option « autoUpdate » est désactivée, afin de forcer un rafraîchissement 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.