Fix map interaction

This commit is contained in:
Mitchell McCaffrey 2020-10-02 13:44:15 +10:00
parent f783a9bb70
commit 54a60d6c76
2 changed files with 12 additions and 8 deletions

View File

@ -89,6 +89,7 @@ function MapInteraction({
stageScale,
setStageScale,
stageTranslateRef,
selectedToolId,
preventMapInteraction,
{
onPinchStart: () => {

View File

@ -12,6 +12,7 @@ function useStageInteraction(
stageScale,
onStageScaleChange,
stageTranslateRef,
tool = "pan",
preventInteraction = false,
gesture = {}
) {
@ -89,14 +90,16 @@ function useStageInteraction(
const [dx, dy] = delta;
const stageTranslate = stageTranslateRef.current;
const newTranslate = {
x: stageTranslate.x + dx / stageScale,
y: stageTranslate.y + dy / stageScale,
};
layer.x(newTranslate.x);
layer.y(newTranslate.y);
layer.draw();
stageTranslateRef.current = newTranslate;
if (tool === "pan") {
const newTranslate = {
x: stageTranslate.x + dx / stageScale,
y: stageTranslate.y + dy / stageScale,
};
layer.x(newTranslate.x);
layer.y(newTranslate.y);
layer.draw();
stageTranslateRef.current = newTranslate;
}
gesture.onDrag && gesture.onDrag(props);
},
});