Перейти к основному содержимому

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);
setZoomRat(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();
См. пример ниже.
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» включена.