gpt4 book ai didi

javascript - DataMap/D3 - 如何重置缩放?

转载 作者:行者123 更新时间:2023-11-28 10:37:53 26 4
gpt4 key购买 nike

我有一个DataMaps map ,它基于 D3.js(版本 3),我在其中添加了滚动缩放功能。唯一的问题是我还没有找到重置它的方法。

var reset = document.getElementById('reset-map');
var map = new Datamap({
element: document.getElementById('world-map'),
responsive: true,
});
map.svg.call(d3.behavior.zoom().on('zoom', function () {
reset.style.display = 'block';
map.svg.selectAll('g').attr('transform', 'translate(' + d3.event.translate + ')' + ' scale(' + d3.event.scale + ')')
}));
reset.addEventListener('click', function (e) {
e.preventDefault();
// TODO remove zoom
reset.style.display = 'none';
} );

找到了这两个,但我不知道如何将其应用到我的案例中,你能帮忙吗?

非常感谢!

最佳答案

试试这个:

var zoom = d3.behavior.zoom().on('zoom', function () {...});
map.svg.call(zoom);

重置时(这是 V4 代码,不确定是否适用于 V3):

var transform = d3.zoomIdentity.translate(0, 0).scale(1);
map.svg.call(zoom.transform, transform);

请告诉我们它是否适合您

关于javascript - DataMap/D3 - 如何重置缩放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57945423/

26 4 0
文章推荐: html - 图标 .ico 扩展名在 IE 或 Chrome 中不显示
文章推荐: css - 对于 CSS,如果我们将显示设置为表格、表格行或表格单元格,那么我们为什么不直接使用
来做呢?