You can set up a handler for the mousePositionChanged signal and accept the mouse events depending on if your panning flag is enabled or not. Something like the following should get you started.
Thanks,
Luke
import QtQuick 2.3
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.1
import ArcGIS.Extras 1.0
import ArcGIS.Runtime 10.26
ApplicationWindow {
id: rootRectangle
width: 500
height: 500
property bool isPannable: true
Envelope {
id: extentEnvelope
xMin: -122.511
yMin: 37.7474
xMax: -122.3887
yMax: 37.8125
spatialReference: SpatialReference {
wkid: 4326
}
}
Map {
id: mainMap
anchors.fill: parent
extent: extentEnvelope
focus: true
ArcGISLocalTiledLayer {
id: baseArcGISLocalTiledLayer
path: "~/ArcGIS/Runtime/Data/tpks/SanFrancisco.tpk"
}
onMouseClicked: {
console.log("clicked", mouse.mapX)
}
onMousePositionChanged: {
if (!isPannable) {
mouse.accepted = true;
} else {
mouse.accepted = false;
}
}
}
Button {
text: "disable panning"
onClicked: {
if (isPannable)
isPannable = false;
else
isPannable = true;
}
}
}