hmpps-open-layers-map
Version:
A native Web Component for displaying maps using OpenLayers or MapLibre.
14 lines (13 loc) • 635 B
JavaScript
import DragRotate from 'ol/interaction/DragRotate';
import { mouseActionButton } from 'ol/events/condition';
// Override default Rotate interaction to only activate on Ctrl or Cmd + mouse button like mapLibre
export const ctrlOrCmdDragCondition = (event) => {
const originalEvent = event.originalEvent;
const isModifierHeld = (originalEvent.ctrlKey || originalEvent.metaKey) && !originalEvent.altKey && !originalEvent.shiftKey;
return isModifierHeld && mouseActionButton(event);
};
export default function createCtrlDragRotateInteraction() {
return new DragRotate({
condition: ctrlOrCmdDragCondition,
});
}