Cartes et navigation (QML)
La section «Cartes et navigation » fournit des types d’interface utilisateur QtQuick permettant d’afficher des informations géographiques sur une carte, ainsi que d’interagir avec les objets superposés à la carte et l’affichage lui-même. Elle contient également des utilitaires de géocodage (recherche de coordonnées géographiques à partir d’une adresse postale) et de navigation (notamment des itinéraires en voiture et à pied).
Pour effectuer une navigation, nous avons besoin d’ routes entre le point de départ et la destination. Ces itinéraires sont constitués de segments, où chaque routeSegment peut être considérée comme une sous-tâche de navigation ; par exemple, « rouler 100 mètres » ou « tourner à gauche ». Le début et la fin de chaque segment constituent un point de passage, c’est-à-dire une partie du trajet.
Un cas d’utilisation typique de l’API est celui d’un utilisateur recherchant un type de lieu particulier, tel qu’un restaurant ; l’utilisateur saisit une chaîne de recherche dans l’application cartographique et se voit proposer une liste de résultats pour les restaurants « à proximité » de l’appareil. L'application peut ensuite être utilisée pour se rendre à la destination choisie en suivant un itinéraire optimisé en fonction des caractéristiques de l'environnement susceptibles de faciliter ou de compliquer le trajet. La navigation se poursuit alors, la progression de l'utilisateur étant suivie grâce à sa position actuelle.
Ces types s’appuient sur les concepts et les types de l’API de positionnement QML. Une introduction plus pratique aux types « Maps » et « Navigation » est disponible dans le tutoriel « Maps and Navigation ».
Cartes
Affichage des cartes
L’affichage d’une carte s’effectue à l’aide des types QML de l’API « Map ». Le type « Map » prend en charge l’interaction avec l’utilisateur via le type QML « MapView ». L’objet « Map » dessine la carte à l’écran à l’aide d’OpenGL (ES), ce qui permet un rendu accéléré par le matériel lorsque cela est possible.
Types clés
| Plugin | Un plugin de services de localisation fournit des données, notamment des données cartographiques, qui sont ensuite affichées dans un objet Map. |
| Map | QtQuick Élément permettant d’afficher une carte à l’écran. |
| MapView | Aide à l’interaction pour les gestes de panoramique, de balayage et de pincement pour zoomer sur une carte. |
Notez que le client doit créer un objet « Plugin » avant d’utiliser un type « Map » afin d’avoir accès aux données cartographiques à afficher.
Placer des objets sur une carte (objets de superposition de carte)
Les cartes peuvent également contenir des objets de superposition, qui servent à afficher des informations à la surface de la carte. Il existe un ensemble d’objets de superposition prédéfinis de base, ainsi que la possibilité d’implémenter des objets de superposition personnalisés à l’aide du type ` MapQuickItem `, qui peut contenir n’importe quel élément standard de type ` QtQuick `.
Principaux types
| MapCircle | Un cercle géographique (tous les points situés à une distance définie d’un centre), avec une bordure facultative. |
| MapRectangle | Un rectangle dont les points supérieur gauche et inférieur droit sont spécifiés sous forme de types « geoCoordinate », avec une bordure facultative. |
| MapPolygon | Un polygone constitué d’une liste arbitraire d’éléments de type ` coordinates`. |
| MapPolyline | Une polyligne composée d’une liste arbitraire d’ coordinates. |
| MapQuickItem | Transforme n’importe quel élément « QtQuick » en objet de superposition cartographique. « MapQuickItem » permet de définir des objets de superposition cartographique personnalisés. |
Conception modèle-vue avec des objets de superposition cartographique
Pour générer automatiquement des objets de superposition de carte à partir du contenu d’un modèle « QtQuick » (par exemple, un élément « ListModel »), le type « MapItemView » est disponible. Il accepte n’importe quel objet de superposition de carte comme délégué et ne peut être créé qu’au sein d’un « Map ».
Types de clés
| MapItemView | Remplit une carte avec des objets de superposition de carte en fonction des données fournies par un modèle. |
Interaction avec les objets de superposition cartographique
Les propriétés des objets de superposition cartographique qui influencent leur apparence à l’écran peuvent être modifiées à tout moment, et nombre d’entre elles peuvent également être utilisées dans des animations. L’animation d’objets de superposition cartographique basés sur des coordonnées, tels que les objets « MapPolygon » et « MapPolyline », n’est pas encore disponible.
Géocodage – De l’adresse aux coordonnées et inversement
Le géocodage consiste à convertir des coordonnées géographiques en adresses, ou inversement. Une telle conversion implique généralement l’envoi des données sources à un serveur qui effectue ensuite la conversion et renvoie les résultats, bien que certains fournisseurs de services de localisation plugins puissent être en mesure de proposer certaines fonctionnalités de géocodage sans envoyer de données à un serveur distant. La disponibilité et la précision de la conversion dépendent généralement de l’emplacement ou de l’adresse à convertir, car les différentes régions de la Terre sont cartographiées avec des degrés de précision variables.
Une requête de géocodage en QML s’effectue à l’aide du type ` GeocodeModel `. Pour une requête d’adresse vers des coordonnées, sa propriété ` query ` peut être définie soit sur un objet ` Address `, soit sur une chaîne de caractères contenant la forme textuelle de l’adresse à rechercher. Pour effectuer l’opération inverse, cette même propriété peut être définie sur un objet ` geoCoordinate `. Les résultats sont disponibles dans le contenu du modèle.
Types de clés
| Plugin | Un plugin de services de localisation fournit des données, notamment les résultats de traduction de géocodage, qui sont exposées aux clients via une interface GeocodeModel. |
| GeocodeModel | Interroge le plug-in pour obtenir des traductions de géocodage et donne accès aux résultats via des index dans le modèle. |
| Address | Adresse structurée destinée à être utilisée dans les requêtes et les résultats de géocodage. |
Notez que le client doit créer un objet ` Plugin ` avant d'utiliser un objet ` GeocodeModel `. Cela permettra d'accéder aux services de géocodage et donc aux données à afficher.
Itinéraires et navigation
Le calcul d’itinéraire consiste à déterminer un parcours praticable d’un point à un autre sur une carte. À partir d’une carte tenant compte des éléments facilitant ou entravant la navigation, tels que les ponts, les cours d’eau, etc., il est possible de construire une série de segments constituant l’itinéraire. Si ces segments d’itinéraire ( routeSegments) sont simples, il est alors possible d’ajouter des informations de navigation aux points de jonction, appelés nœuds de géocodage ( routeManeuvers), entre les segments.
Types de clés
| route | L’itinéraire complet à parcourir. |
| routeSegment | Les composants individuels d’un itinéraire. |
| routeManeuver | Les informations de navigation qui relient les segments. |
| RouteModel | Les moyens d’effectuer des requêtes sur le backend pour obtenir des informations d’itinéraire. |
© 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.