打开和关闭 MouseWheelZoom
Turning MouseWheelZoom on and off
如何切换鼠标滚轮缩放功能?
我知道您可以在创建地图时设置 mousewheelzoom 默认值:
interactions: ol.interaction.defaults({
mouseWheelZoom: false
}),
但是我如何在创建地图后更改它,即当用户单击地图时我想 运行 切换鼠标滚轮缩放的例程?
我知道这在 Openlayers2 中很棘手 - 你必须循环控制:
function PMA_Mapping_Enable_Mouse_Wheel_Zoom(map) {
//Need to go through all controls - don't know why!
controls = map.getControlsByClass('OpenLayers.Control.Navigation');
for (var i = 0; i < controls.length; ++i)
controls[i].enableZoomWheel();};
不知道这是否有帮助,但我认为我应该包括它。
有人知道如何在 openlayers 3 中实现这个吗?
Mouseweel 是一种交互而非控件。
所以,您可以随时使用
interaction.setActive(true)
、interaction.setActive(false)
切换交互。
像这样开始你的地图初始化:
......interactions: ol.interaction.defaults({
mouseWheelZoom: false
}), .......
然后,一旦您的地图准备就绪,就可以像这样创建 mouseWheel 交互:
var mouseWheelInt = new ol.interaction.MouseWheelZoom();
map.addInteraction(mouseWheelInt)
然后切换它:
mouseWheelInt.setActive(!mouseWheelInt.getActive())
如何切换鼠标滚轮缩放功能?
我知道您可以在创建地图时设置 mousewheelzoom 默认值:
interactions: ol.interaction.defaults({
mouseWheelZoom: false
}),
但是我如何在创建地图后更改它,即当用户单击地图时我想 运行 切换鼠标滚轮缩放的例程?
我知道这在 Openlayers2 中很棘手 - 你必须循环控制:
function PMA_Mapping_Enable_Mouse_Wheel_Zoom(map) {
//Need to go through all controls - don't know why!
controls = map.getControlsByClass('OpenLayers.Control.Navigation');
for (var i = 0; i < controls.length; ++i)
controls[i].enableZoomWheel();};
不知道这是否有帮助,但我认为我应该包括它。
有人知道如何在 openlayers 3 中实现这个吗?
Mouseweel 是一种交互而非控件。 所以,您可以随时使用
interaction.setActive(true)
、interaction.setActive(false)
切换交互。
像这样开始你的地图初始化:
......interactions: ol.interaction.defaults({
mouseWheelZoom: false
}), .......
然后,一旦您的地图准备就绪,就可以像这样创建 mouseWheel 交互:
var mouseWheelInt = new ol.interaction.MouseWheelZoom();
map.addInteraction(mouseWheelInt)
然后切换它:
mouseWheelInt.setActive(!mouseWheelInt.getActive())