5. Handlers (обработчики)

BoxZoomHandler

BoxZoomHandler позволяет пользователю масштабировать карту так, чтобы она помещалась в ограничивающую рамку. Чтобы задать прямоугольник, необходимо одновременно нажать и удерживать клавишу Shift и левую кнопку мыши и перетащить курсор.
src/ui/handler/box_zoom.js

Методы

Название
Описание
disable()

Отключает «box zoom»

Пример:
map.boxZoom.disable();
enable()

Включает «box zoom»

Пример:
map.boxZoom.enable()
isActive() Возвращает true, если «box zoom» активна
isEnabled() Возвращает true, если «box zoom» включена

ScrollZoomHandler

ScrollZoomHandler позволяет пользователю масштабировать карту с помощью прокрутки.
src/ui/handler/scroll_zoom.js

Методы

Название
Описание
disable()

Выключает «scroll to zoom»

Пример:
map.scrollZoom.disable()
enable(options?)

Параметры

around  если «center» пройден, карта будет масштабироваться вокруг центра карты

Пример:
map.scrollZoom.enable();
Пример:
map.scrollZoom.enable({ around: 'center' })
isEnabled() Возвращает true, если «scroll to zoom» включена
setWheelZoomRate(wheelZoomRate)

Установите скорость масштабирования колесика мыши

Параметры

wheelZoomRate  (по умолчанию 1/450) Скорость масштабирования.

Пример:
// Slow down zoom of mouse wheel
map.scrollZoom.setWheelZoomRate(1/600);
setZoomRate(zoomRate)

Установите скорость масштабирования трекпада

Параметры

zoomRate  (по умолчанию 1/100) Скорость масштабирования.

Пример:
// Speed up trackpad zoom
map.scrollZoom.setZoomRate(1/25);

DragPanHandler

DragPanHandler позволяет пользователю перемещать карту, щелкая и перетаскивая курсор.
src/ui/handler/shim/drag_pan.js

Методы

Название
Описание
disable()

Отключает «drag to pan»

Пример:
map.dragPan.disable();
enable(options?)

Включает «drag to pan»

Параметры

linearity  коэффициент, используемый для масштабирования скорости сопротивления (drag velocity)

easing  функция сглаживания (easing function) применяется к map.panTo при перетаскивание.

maxSpeed  максимальное значение скорости лобового сопротивления.

deceleration  скорость, с которой уменьшается движение после касания.

Пример:
map.dragPan.enable();
Пример:
map.dragPan.enable({
  linearity: 0.3,
  easing: bezier(0, 0, 0.3, 1),
  maxSpeed: 1400,
  deceleration: 2500,
});
isActive() Возвращает true, если «drag to pan» активна
isEnabled() Возвращает true, если «drag to pan» включена

DragRotateHandler

DragRotateHandler позволяет пользователю вращать карту, щелкая и перетаскивая курсор, удерживая правую кнопку мыши или клавишу ctrl.
src/ui/handler/shim/drag_rotate.js

Методы

Название
Описание
disable()

Отключает «drag to rotate»

Пример:
map.dragRotate.disable();
enable()

Включает «drag to rotate»

Пример:
map.dragRotate.enable();
isActive() Возвращает true, если «drag to rotate» активна
isEnabled() Возвращает true, если «drag to rotate» включена

KeyboardHandler

KeyboardHandler позволяет пользователю масштабировать, поворачивать и панорамировать карту с помощью следующих сочетаний клавиш:

  • = / + : увеличение масштаба до 1.
  • Shift-= / Shift-+: увеличение уровня масштабирования на 2.
  • -: уменьшение уровня сигнала по 1.
  • Shift -: уменьшение уровня сигнала на 2.
  • Клавиши со стрелками (Arrow keys): панорамирование на 100 пикселей.
  • Shift+⇢: увеличение поворота на 15 градусов.
  • Shift+⇠: уменьшение поворота на 15 градусов.
  • Shift+⇡: увеличение шага на 10 градусов.
  • Shift+⇣: уменьшение шага на 10 градусов.

src/ui/handler/keyboard.js

Методы

Название
Описание
disable()

Отключает «keyboard rotate and zoom»

Пример:
map.keyboard.disable();
disableRotation()

Отключает «keyboard pan/rotate», но оставляет включенным «keyboard zoom»

Пример:
map.keyboard.disableRotation();
enable()

Включает «keyboard rotate and zoom»

Пример:
map.keyboard.enable();
enableRotation()

Включает «keyboard pan/rotate»

Пример:
map.keyboard.enableRotation();
isActive() Возвращает true, если обработчик включен и обнаружил начало zoom/rotate
isEnabled() Возвращает true, если включено взаимодействие "keyboard rotate and zoom"

DoubleClickZoomHandler

DoubleClickZoomHandler позволяет пользователю масштабировать карту в определенной точке двойным нажатием левой кнопкой мыши или двойным тапом.
src/ui/handler/shim/dblclick_zoom.js

Методы

Название
Описание
disable()

Отключает «double click to zoom»

Пример:
map.doubleClickZoom.disable();
enable()

Включает «double click to zoom»

Пример:
map.doubleClickZoom.enable();
isActive() Возвращает true, если «double click to zoom» активна
isEnabled() Возвращает true, если «double click to zoom» включена

TouchZoomRotateHandler

TouchZoomRotateHandler позволяет пользователю увеличивать и поворачивать карту, нажимая на сенсорный экран.

Они могут увеличивать масштаб одним пальцем, дважды нажимая и перетаскивая. При втором касании удерживайте палец и перетащите его вверх или вниз, чтобы увеличить или уменьшить масштаб.
src/ui/handler/shim/touch_zoom_rotate.js

Методы

Название
Описание
disable()

Отключает «pinch to rotate and zoom».

Пример:
map.touchZoomRotate.disable();
disableRotation()

Отключает «pinch to rotate», оставляя «pinch to zoom».

Пример:
map.touchZoomRotate.disableRotation();
enable(options?)

Включает «pinch to rotate and zoom»

Параметры

around  если «center» пройден, карта будет масштабироваться вокруг центра карты

Пример:
map.touchZoomRotate.enable();
Пример:
map.touchZoomRotate.enable({ around: 'center' });
enableRotation()

Включает «pinch to rotate»

Пример:
map.touchZoomRotate.enable();
map.touchZoomRotate.enableRotation();
isActive() Возвращает true, если обработчик включен и обнаружил zoom/rotate.
isEnabled() Возвращает true, если «pinch to rotate and zoom» включена

TouchPitchHandler

TouchPitchHandler позволяет пользователю наклонять карту, перетаскивая ее вверх и вниз двумя пальцами.
src/ui/handler/touch_zoom_rotate.js

Методы

Название
Описание
disable()

Отключает «drag to pitch»

Пример:
map.touchPitch.disable();
enable()

Включает «drag to pitch»

Пример:
map.touchPitch.enable();
isActive() Возвращает true, если «drag to pitch» активна
isEnabled() Возвращает true, если «drag to pitch» включена
Обновлено 30 ноября 2022 г.
Was this information helpful?