MapQuickItem QML Type
Der Typ „MapQuickItem“ zeigt ein beliebiges „ Qt Quick “-Objekt auf einer Karte an. Mehr...
| Import Statement: | import QtLocation 6.12 |
| Since: | QtLocation 5.5 |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- „MapQuickItem“ ist Teil des QML-Maps-Plugins.
Eigenschaften
- anchorPoint : point
- autoFadeIn : bool
- coordinate : coordinate
- sourceItem : object
- zoomLevel : real
Ausführliche Beschreibung
Der Typ „MapQuickItem“ wird verwendet, um ein beliebiges „ Qt Quick “-Objekt an einer bestimmten Position und in einer bestimmten Größe auf einer Karte zu platzieren. Im Gegensatz zu einem Element, das frei über der Karte schwebt, folgt ein „MapQuickItem“ den Verschiebungen (und optional auch den Zoomvorgängen) der Karte, als befände es sich auf der Kartenoberfläche.
Die Eigenschaft „ sourceItem “ enthält das zu zeichnende „ Qt Quick “-Element, bei dem es sich um einen beliebigen sichtbaren Typ handeln kann.
Positionierung und Größenanpassung
Die Positionierung des „MapQuickItem“ auf der Karte wird durch zwei Eigenschaften gesteuert: „ coordinate “ und „ anchorPoint “. Wenn nur „ coordinate “ festgelegt ist, gibt dies eine Längen- und Breitengradkoordinate an, an der das Element platziert werden soll. Die festgelegte Koordinate richtet sich bei der Darstellung auf dem Bildschirm nach der oberen linken Ecke des enthaltenen Elements.
Die Eigenschaft „ anchorPoint “ bietet die Möglichkeit, die Koordinate nicht nur an der oberen linken Ecke, sondern auch an anderen Stellen des Elements auszurichten, indem eine Anzahl von Pixeln festgelegt wird, um die das Element versetzt werden soll. Einfach ausgedrückt bedeutet dies: Der durch „ anchorPoint “ angegebene Punkt auf dem Element selbst ist der Punkt, der bei der Anzeige mit dem angegebenen „ coordinate “ übereinstimmt.
Zusätzlich zur Verankerung auf der Karte kann das `MapQuickItem` optional dem Maßstab der Karte folgen und seine Größe ändern, wenn die Karte vergrößert oder verkleinert wird. Dieses Verhalten wird durch die Eigenschaft ` zoomLevel ` gesteuert. Ist „ zoomLevel “ nicht festgelegt, wird das Element standardmäßig „auf dem Bildschirm“ statt „auf der Karte“ gezeichnet, sodass seine Größe unabhängig vom Zoomfaktor der Karte gleich bleibt.
Leistung
Die Leistung eines „MapQuickItem“ liegt normalerweise in etwa auf dem Niveau des darin enthaltenen „ Qt Quick “-Elements allein. Der zusätzliche Overhead ergibt sich aus der Verschiebung und (möglicherweise) Skalierung des ursprünglichen Elements sowie aus der Umrechnung von Längen- und Breitengraden in Bildschirmpositionen.
Einschränkungen
Hinweis: Aufgrund eines Implementierungsdetails verfügen Elemente, die in einem „MapQuickItem“ platziert sind, über ein „ parent “-Element, das nicht mit dem „MapQuickItem“ identisch ist. Verweisen Sie auf das „MapQuickItem“ über dessen „ id “ und vermeiden Sie die Verwendung von „ anchor “ im „ sourceItem “.
Anwendungsbeispiel
Der folgende Codeausschnitt zeigt ein `MapQuickItem`, das ein `Image`-Objekt enthält, um einen Marker auf der Karte anzuzeigen. Diese Strategie wird verwendet, um die Kartenmarker im `MapViewer`-Beispiel darzustellen.
MapQuickItem {
id: marker
anchorPoint.x: image.width/4
anchorPoint.y: image.height
HoverHandler {
id: hoverHandler
}
TapHandler {
id: tapHandler
acceptedButtons: Qt.RightButton
gesturePolicy: TapHandler.WithinBounds
onTapped: {
mapview.currentMarker = -1
for (var i = 0; i< mapview.markers.length; i++){
if (marker == mapview.markers[i]){
mapview.currentMarker = i
break
}
}
mapview.showMarkerMenu(marker.coordinate)
}
}
DragHandler {
id: dragHandler
grabPermissions: PointerHandler.CanTakeOverFromItems | PointerHandler.CanTakeOverFromHandlersOfDifferentType
}
sourceItem: Image {
id: image
}
}
Dokumentation der Eigenschaften
anchorPoint : point
Diese Eigenschaft legt fest, welcher Punkt auf der „ sourceItem “ mit der Koordinate auf der Karte abgeglichen wird.
autoFadeIn : bool
Diese Eigenschaft legt fest, ob das Element automatisch eingeblendet wird, wenn die Karte ausgehend von sehr niedrigen Zoomstufen vergrößert wird. Standardmäßig ist diese Eigenschaft auf „ true “ gesetzt. Wenn diese Eigenschaft auf „ false “ gesetzt wird, weist das Kartenelement stets die mit der Eigenschaft „ QtQuick::Item::opacity “ festgelegte Deckkraft auf, die standardmäßig 1,0 beträgt.
coordinate : coordinate
Diese Eigenschaft enthält die Ankerkoordinate des „ MapQuickItem “. Der Punkt auf dem „ sourceItem “, der durch „ anchorPoint “ festgelegt wird, wird beim Zeichnen auf der Karte an dieser Koordinate ausgerichtet.
In der folgenden Abbildung sind drei „MapQuickItems“ dargestellt, die bis auf den Wert ihrer „ anchorPoint “-Eigenschaft identisch sind. Die Werte von „ anchorPoint “ für jedes Element sind über dem jeweiligen Element angegeben.

sourceItem : object
Diese Eigenschaft enthält das Quellelement, das auf der Karte dargestellt wird.
zoomLevel : real
Diese Eigenschaft steuert das Skalierungsverhalten der Inhalte von MapQuickItem. Insbesondere lässt sich durch die Einstellung dieser Eigenschaft wählen, ob Objekte auf dem Bildschirm gezeichnet werden (und ihre Größe in Bildschirmpixeln angegeben wird) oder auf der Kartenoberfläche (wobei sich ihre Größe mit dem Zoomfaktor der Karte ändert).
Der Standardwert für diese Eigenschaft ist 0,0, was der Darstellung des Objekts auf der Bildschirmoberfläche entspricht. Wird ein anderer Wert festgelegt, wird das Objekt stattdessen auf der Kartenoberfläche dargestellt. Der Wert (sofern er nicht Null ist) gibt den ZoomLevel an, bei dem das Objekt im Maßstab 1:1 sichtbar ist (d. h., bei dem Objektpixel und Bildschirmpixel identisch sind). Bei Zoomstufen unterhalb dieses Wertes erscheint das Objekt kleiner, bei höheren Zoomstufen hingegen größer. Dies steht im Gegensatz zur Einstellung dieser Eigenschaft auf Null, bei der das Objekt bei allen Zoomstufen auf dem Bildschirm dieselbe Größe behält.
© 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.