我使用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);
此外,如果有人有一个提示来删除所有导航事件比这更容易,这将是非常感谢。
发布于 2012-09-11 09:37:09
通过传递空数组禁用地图上的默认控件:
var map = new OpenLayers.Map('map', { controls: [] });
发布于 2015-02-13 13:35:13
对于OpenLayers3,交互数组也需要是空的。
var map = new ol.Map({
controls: [],
interactions: []
});
发布于 2014-07-03 22:50:48
Mahdi方法的简化结果
var i, l, c = map.getControlsBy( "zoomWheelEnabled", true );
for ( i = 0, l = c.length; i < l; i++ ) {
c[i].disableZoomWheel();
}
通过这种方式,鼠标轮上的缩放功能不需要自定义构建地图的选项,例如创建没有任何控制的地图(虽然Lght在一定程度上要求这样做)。此外,重新启用变焦工作等效。
此外,通过搜索匹配已启用属性zoomWheelEnabled
的控件,而不是类名,它支持从OpenLayers.Control.Navigation
派生的自定义控件。
https://stackoverflow.com/questions/12366578
复制相似问题