如何使用 MouseArea(按下 MidButton)在 qml 中旋转地图?
Map {
id: map
z: 0.1
anchors.fill: parent
property bool mapIsEmpty: submap && (submap.plugin.name === "itemsoverlay")
property string provider: "itemsoverlay"
// need for called outside
function openWizzardAddImage() {
wizzardAddImage.show();
}
zoomLevel: 14
maximumZoomLevel: 20
minimumZoomLevel: 14
gesture.enabled: gestureEnabled
gesture.acceptedGestures: MapGestureArea.PanGesture
| MapGestureArea.PinchGesture
| MapGestureArea.RotationGesture
color: "transparent"
plugin: Plugin { name: "itemsoverlay" }
MouseArea {
id: _mouseArea
anchors.fill: parent
hoverEnabled: true
acceptedButtons: Qt.AllButtons
function coord(mouse) {
return map.toCoordinate(Qt.point(mouse.x,mouse.y),false)
}
onClicked: {
if (mouse.button == Qt.RightButton) {
map.clickedContextMenu(coord(mouse))
}
else if (mouse.button == Qt.LeftButton) {
map.clicked(coord(mouse))
}
}
onPositionChanged: {
if (mouse.button == Qt.RightButton)
coordText.coordinate = coord(mouse)
}
onDoubleClicked: {
if (mouse.button == Qt.LeftButton)
map.doubleClicked(_mouseArea.coord(mouse))
}
onWheel: {
if (wheel.modifiers && Qt.ControlModifier )
return
wheel.accepted = map.noWheel
}
}
}
我启用了 MouseArea 和类似手势,但是当按下鼠标中键时如何围绕光标旋转地图?Ps 我用谷歌搜索了 MapGesture,但它仅在您点击屏幕时才有效(有点)。