(function () { try { if (skipWmsIfSrsNotSupported) {} } catch (e) { skipWmsIfSrsNotSupported = 0; } var mapTimeout; var sum_delta = 0; var lastTimestamp; var lastScrollPosition; var mapObject; eventAfterInit.register(function () { var mapObject = getMapObjByName(''); mapObject.skipWmsIfSrsNotSupported = skipWmsIfSrsNotSupported === 1 ? true : false; }); eventInitMap.register(function init_mod_map1(){ mapObject = mb_registerMapObj('', '', null,, ); $("#"+mapObject.elementName).mousewheel(function (e, delta) { var mapObject = getMapObjByName(''); if (sum_delta == 0) { mapTimeout = setTimeout(function () { lastScrollPosition = mapObject.getMousePosition(e); mousewheelZoom(); }, 100); } sum_delta = sum_delta + (delta); var currentTime = new Date(); lastTimestamp = currentTime.getTime(); return false; }); }); function mousewheelZoom () { var mapObject = getMapObjByName(''); var currentTime = new Date(); if (currentTime.getTime() - lastTimestamp > 200) { if (lastScrollPosition !== null) { var pos = mapObject.convertPixelToReal(lastScrollPosition); if (sum_delta > 0) { mapObject.zoom(true, Math.pow(Mapbender.zoomMousewheel, sum_delta), pos.x, pos.y); } else { mapObject.zoom(false, Math.pow(Mapbender.zoomMousewheel, -sum_delta), pos.x, pos.y); } var newPos = new Point(); newPos.x = mapObject.width - lastScrollPosition.x; newPos.y = mapObject.height - lastScrollPosition.y; var posAfterZoom = mapObject.convertPixelToReal(newPos); mapObject.zoom(false, 1.0, posAfterZoom.x, posAfterZoom.y); } sum_delta = 0; clearTimeout(mapTimeout); } else { mapTimeout = setTimeout(function () { mousewheelZoom(sum_delta); }, 100 ); } } })();