看了ht 的官方文档找不到可以限制的api,可能是自己能力有限的问题。在这使用原生的鼠标滚轮事件监听来控制,希望有更好方案的伙伴能够多多分享,写的不好请见谅
// 限制缩放比例 zooMax:最大缩放倍数 zoomMin: 最小缩放倍数 zoom 初始化值
zoomMax = 45;
zoomMin = -20;
zoom = 0;
/*监听鼠标滚轮事件,用于限制模型的缩放比例,因为谷歌和火狐的滚轮事件不同,所以
这边同时监听连个事件
*/
//谷歌浏览器的监听事件
document.addEventListener('mousewheel', controllerZoom);
//火狐浏览器的监听事件
document.addEventListener('DOMMouseScroll', controllerZoom);
function controllerZoom(event) {
var wheelDelta = getWheelDelta(event);
if (wheelDelta > 0) {
if (zoom != zoomMax) {
zoom++;
}
} else {
if (zoom != zoomMin) {
zoom--;
}
}
if (zoom > zoomMin && zoom < zoomMax) {
graphView.setZoomable(true)
} else {
graphView.setZoomable(false)
}
}
var getWheelDelta = function (event) {
return event.wheelDelta || (-event.detail * 24);
}