Sur cette page

Cartes et navigation (QML)

Maps and Navigation fournit des types d'interface utilisateur QtQuick pour afficher des informations géographiques sur une carte, ainsi que pour permettre à l'utilisateur d'interagir avec des objets de superposition de cartes et avec l'affichage lui-même. Il contient également des utilitaires pour le géocodage (recherche d'une coordonnée géographique à partir d'une adresse) et la navigation (y compris les itinéraires de conduite et de marche).

Pour effectuer la navigation, nous avons besoin de routes pour aller du point de départ au point d'arrivée. Ces itinéraires sont constitués de segments, où chaque routeSegment peut être considéré comme une sous-tâche de navigation ; par exemple, "conduire 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 à la recherche d'un type de lieu particulier, tel qu'un restaurant ; l'utilisateur saisit une chaîne de recherche dans l'application cartographique et obtient une liste de résultats concernant les restaurants situés "à proximité" de l'appareil. L'application peut ensuite être utilisée pour naviguer vers la destination choisie en utilisant un itinéraire optimisé en fonction des caractéristiques de l'environnement qui peuvent faciliter ou entraver le voyage. La navigation se poursuit ensuite, la progression de l'utilisateur étant suivie au moyen de la localisation actuelle.

Les types s'appuient sur les concepts et les types de l'API de positionnement QML. Une introduction plus pratique des types Maps et Navigation est disponible dans le didacticiel Maps et Navigation.

Cartes

Affichage des cartes

L'affichage d'une carte se fait à l'aide des types QML Map. Le type Map prend en charge l'interaction avec l'utilisateur grâce au type QML MapView. L'objet Carte dessine la carte à l'écran à l'aide d'OpenGL (ES), ce qui permet un rendu accéléré par le matériel lorsqu'il est disponible.

Types clés

PluginUn plugin de services de géolocalisation fournit des données, y compris des données cartographiques, qui sont ensuite affichées dans un objet Map.
MapQtQuick L'objet Map permet d'afficher une carte à l'écran.
MapViewAide à l'interaction pour les gestes de panoramique, de flicage et de zoom par pincement 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.

Placement d'objets sur une carte (objets de superposition de cartes)

Les cartes peuvent également contenir des objets de superposition de cartes, qui sont utilisés pour afficher des informations sur leur surface. Il existe un ensemble d'objets de superposition de cartes prédéfinis de base, ainsi que la possibilité d'implémenter des objets de superposition de cartes personnalisés à l'aide du type MapQuickItem, qui peut contenir n'importe quel élément QtQuick standard.

Types clés

MapCircleUn cercle géographique (tous les points à une distance donnée du centre), éventuellement avec une bordure.
MapRectangleUn rectangle dont les points en haut à gauche et en bas à droite sont spécifiés en tant que types de coordonnées, éventuellement avec une bordure.
MapPolygonUn polygone constitué d'une liste arbitraire de coordonnées.
MapPolylineUne polyligne composée d'une liste arbitraire de coordonnées.
MapQuickItemTransforme tout élément QtQuick arbitraire en objet de superposition de carte. MapQuickItem permet de spécifier des objets de superposition de carte personnalisés.

Conception modèle-vue avec des objets de superposition de cartes

Le type MapItemView permet de générer automatiquement des objets de superposition de cartes à partir du contenu d'un modèle QtQuick (par exemple un élément ListModel ). Il accepte n'importe quel objet de superposition de cartes comme délégué et ne peut être créé qu'à l'intérieur d'un site Map.

Principaux types

MapItemViewRemplit une carte avec des objets de superposition de cartes sur la base des données fournies par un modèle.

Interaction avec les objets de superposition de cartes

Les propriétés des objets de superposition de cartes 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 des objets de superposition de cartes basés sur les coordonnées, tels que MapPolygon et MapPolyline, n'est pas encore disponible.

Géocodage - de l'adresse aux coordonnées et vice versa

Le géocodage est la traduction de coordonnées géographiques en adresses, ou vice versa. Cette traduction implique généralement l'envoi des données sources à un serveur qui effectue la traduction et renvoie les résultats, bien que certains fournisseurs de services de localisation plugins puissent être en mesure de fournir certaines fonctionnalités de géocodage sans envoyer de données à un serveur distant. La disponibilité et la précision de la traduction dépendent généralement de l'emplacement ou de l'adresse à traduire, car les différentes régions de la Terre sont cartographiées avec plus ou moins de précision.

Une requête de géocodage en QML est effectuée à l'aide du type GeocodeModel. Pour une requête adresse/coordonnées, la propriété query peut être définie comme un objet Address ou une chaîne de caractères contenant la forme textuelle de l'adresse à rechercher. Pour effectuer l'opération inverse, la même propriété peut être remplacée par une coordonnée. Les résultats sont disponibles dans le contenu du modèle.

Types de clés

PluginUn plugin de services géodépendants fournit des données, y compris des résultats de traduction de géocodage, qui sont exposées aux clients via un site GeocodeModel.
GeocodeModelInterroge le plugin sur les traductions de géocodage et donne accès aux résultats via des index dans le modèle.
AddressAdresse structurée à utiliser dans les requêtes et les résultats du 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 traduction du géocodage et donc d'afficher les données.

Routage et navigation

Le routage est la détermination d'un chemin navigable d'un point à un autre sur une carte. À partir d'une carte qui connaît les caractéristiques qui facilitent ou entravent la navigation, telles que les ponts, les voies navigables, etc. Si ces routeSegments sont simples, nous pouvons ajouter des informations de navigation aux points de connexion, routeManeuvers, entre les segments.

Types de clés

routeL'ensemble du chemin à parcourir.
routeSegmentLes composants individuels d'un itinéraire.
routeManeuverLes informations de navigation qui relient les segments.
RouteModelLes moyens d'effectuer des requêtes sur le backend pour fournir des informations sur l'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.