MapItemGroup QML Type
Le type MapItemGroup est un conteneur pour les éléments de la carte. Plus d'informations...
| Import Statement: | import QtLocation 6.11 |
| Since: | QtLocation 5.9 |
- Liste de tous les membres, y compris les membres hérités
- MapItemGroup fait partie de QML Maps Plugin.
Description détaillée
Son objectif est de permettre la modularisation du code en autorisant l'utilisation de fichiers qml contenant des éléments de carte liés les uns aux autres, ainsi que les liaisons associées.
Note : La version de cette API avec Qt 5.9 est un aperçu technologique.
Exemple d'utilisation
L'extrait suivant montre comment utiliser un MapItemGroup pour créer un MapCircle, centré sur la coordonnée (63, -18) avec un rayon de 100 km, rempli de rouge, entouré d'une bordure verte ondulée, tous deux contenus dans un cercle bleu semi-transparent avec un MouseArea qui déplace l'ensemble du groupe. Ce groupe est défini dans un fichier séparé appelé PolygonGroup.qml :
import QtQuick import QtPositioning import QtLocation MapItemGroup { id: itemGroup property alias position: mainCircle.center property var radius: 100 * 1000 property var borderHeightPct : 0.3 MapCircle { id: mainCircle center : QtPositioning.coordinate(40, 0) radius: itemGroup.radius * (1.0 + borderHeightPct) opacity: 0.05 visible: true color: 'blue' MouseArea{ anchors.fill: parent drag.target: parent id: maItemGroup } } MapCircle { id: groupCircle center: itemGroup.position radius: itemGroup.radius color: 'crimson' onCenterChanged: { groupPolyline.populateBorder(); } } MapPolyline { id: groupPolyline line.color: 'green' line.width: 3 function populateBorder() { groupPolyline.path = [] // clearing the path var waveLength = 8.0; var waveAmplitude = groupCircle.radius * borderHeightPct; for (var i=0; i <= 360; i++) { var wavePhase = (i/360.0 * 2.0 * Math.PI )* waveLength var waveHeight = (Math.cos(wavePhase) + 1.0) / 2.0 groupPolyline.addCoordinate(groupCircle.center.atDistanceAndAzimuth(groupCircle.radius + waveAmplitude * waveHeight , i)) } } Component.onCompleted: { populateBorder() } } }
PolygonGroup.qml est maintenant un composant réutilisable qui peut être utilisé dans une carte comme :
Map { id: map PolygonGroup { id: polygonGroup position: QtPositioning.coordinate(63,-18) } }

© 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.