在jVectorMap中实现缩放和拖动绑定

4
有没有内置的方法来绑定地图缩放和鼠标拖动?我在文档中没有找到相关内容。
我想要做类似于这样的事情。
var map = $('#world-map').vectorMap();

map.on('zoom', function(){
    ..
})

当然,我可以绑定到jvectormap初始化的元素上,例如:
$('#world-map').on('mousewheel', functon(){
    ..
})

但它看起来像是“快速解决方案”…

你的“快速解决方案”可能就是jvectormap内部本来就会执行的操作。 - Mahn
是的.. 但通过缩放很容易实现,确定拖动应该更难一些,我认为也许已经存在并进行了优化 =\ - Denis
2个回答

3

如果您使用的是1.1.1版本,则需要在API事件中添加onViewportChange事件,并在applyTransform方法中进行操作。

请查看http://pastebin.com/s5GwcEMy


顺便提一下,新版本1.2.2也有onViewportChange事件。 - Denis

3

好的,我解决了这个问题,没有使用内置的解决方案。

对于缩放

$('#world-map svg').on('mousewheel', functon(){
    console.log('cool, you are zooming')
})

拖拽功能:
var isPressed = false;
$('#world-map svg').mousedown(function(){
    isPressed = true;
}).mouseup(function(){
    isPressed = false;
}).mousemove(function(){
    if(isPressed){
        console.log('fine, you are dragging')
    }
})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接