MapControls.js 872 B

123456789101112131415161718192021222324252627282930313233
  1. import {
  2. MOUSE,
  3. TOUCH,
  4. } from 'three';
  5. import { OrbitControls } from './OrbitControls.js';
  6. // MapControls performs orbiting, dollying (zooming), and panning.
  7. // Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default).
  8. //
  9. // Orbit - right mouse, or left mouse + ctrl/meta/shiftKey / touch: two-finger rotate
  10. // Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish
  11. // Pan - left mouse, or arrow keys / touch: one-finger move
  12. class MapControls extends OrbitControls {
  13. constructor( object, domElement ) {
  14. super( object, domElement );
  15. this.screenSpacePanning = false; // pan orthogonal to world-space direction camera.up
  16. this.mouseButtons.LEFT = MOUSE.PAN;
  17. this.mouseButtons.RIGHT = MOUSE.ROTATE;
  18. this.touches.ONE = TOUCH.PAN;
  19. this.touches.TWO = TOUCH.DOLLY_ROTATE;
  20. }
  21. }
  22. export { MapControls };