Geo*_*eyB 9 zoom mousewheel openlayers
我正在使用OpenLayers在我的网站上显示自定义OSM地图.
我有一点要尊重:地图必须修复(意味着我们无法拖动或缩放它).
我有缩放问题,我无法用鼠标禁用缩放.有人有小费吗?
map = new OpenLayers.Map('map');
map.events.remove("move");
map.events.remove("movestart");
map.events.remove("moveend");
map.events.remove("zoomend");
map.events.remove("mouseover");
map.events.remove("mouseout");
map.events.remove("mousemove");
map.events.remove("zoomstart");
var nav = new OpenLayers.Control.Navigation({
defaultDblClick: function(event) { return ; }
});
map[index].addControl(nav);
Run Code Online (Sandbox Code Playgroud)
此外,如果有人提示删除所有导航事件比这更容易,将不胜感激.
ton*_*nio 13
通过传递一个空数组来禁用地图上的默认控件:
var map = new OpenLayers.Map('map', { controls: [] });
Run Code Online (Sandbox Code Playgroud)
Mahdi的简化方法导致
var i, l, c = map.getControlsBy( "zoomWheelEnabled", true );
for ( i = 0, l = c.length; i < l; i++ ) {
c[i].disableZoomWheel();
}
Run Code Online (Sandbox Code Playgroud)
这种禁用鼠标滚轮缩放的方法不需要在构建地图时自定义选项,例如无需创建任何控件即可创建地图(尽管Lght对此有所要求)。此外,重新启用缩放功能同样有效。
此外,通过搜索与启用的属性匹配的控件,zoomWheelEnabled而不是与类名匹配的控件,它支持从派生的自定义控件OpenLayers.Control.Navigation。
小智 5
对于OpenLayers3,交互数组也需要为空。
var map = new ol.Map({
controls: [],
interactions: []
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10664 次 |
| 最近记录: |