summaryrefslogtreecommitdiff
path: root/examples/location/mapviewer/map/Marker.qml
diff options
context:
space:
mode:
Diffstat (limited to 'examples/location/mapviewer/map/Marker.qml')
-rw-r--r--examples/location/mapviewer/map/Marker.qml65
1 files changed, 25 insertions, 40 deletions
diff --git a/examples/location/mapviewer/map/Marker.qml b/examples/location/mapviewer/map/Marker.qml
index 8c548fd4..ee3e1a0d 100644
--- a/examples/location/mapviewer/map/Marker.qml
+++ b/examples/location/mapviewer/map/Marker.qml
@@ -8,52 +8,39 @@ import QtLocation
MapQuickItem {
id: marker
//! [mqi-top]
- property alias lastMouseX: markerMouseArea.lastX
- property alias lastMouseY: markerMouseArea.lastY
//! [mqi-anchor]
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
//! [mqi-anchor]
source: "../resources/marker.png"
- opacity: markerMouseArea.pressed ? 0.6 : 1.0
- MouseArea {
- id: markerMouseArea
- property int pressX : -1
- property int pressY : -1
- property int jitterThreshold : 10
- property int lastX: -1
- property int lastY: -1
- anchors.fill: parent
- hoverEnabled : false
- drag.target: marker
- preventStealing: true
-
- onPressed : (mouse) => {
- map.pressX = mouse.x
- map.pressY = mouse.y
- map.currentMarker = -1
- for (var i = 0; i< map.markers.length; i++){
- if (marker == map.markers[i]){
- map.currentMarker = i
- break
- }
- }
- }
-
- onPressAndHold: (mouse) => {
- if (Math.abs(map.pressX - mouse.x ) < map.jitterThreshold
- && Math.abs(map.pressY - mouse.y ) < map.jitterThreshold) {
- var p = map.fromCoordinate(marker.coordinate)
- lastX = p.x
- lastY = p.y
- map.showMarkerMenu(marker.coordinate)
- }
- }
- }
+ opacity: hoverHandler.hovered ? 0.6 : 1.0
Text{
id: number
@@ -64,7 +51,7 @@ MapQuickItem {
font.pixelSize: 14
horizontalAlignment: Text.AlignHCenter
Component.onCompleted: {
- text = map.markerCounter
+ text = mapview.markerCounter
}
}
@@ -72,8 +59,6 @@ MapQuickItem {
}
//! [mqi-closeimage]
- Component.onCompleted: coordinate = map.toCoordinate(Qt.point(markerMouseArea.mouseX,
- markerMouseArea.mouseY));
//! [mqi-close]
}
//! [mqi-close]