我正在尝试使用此代码进行简单的缩放/平移解决方案
var map = document.getElementById('map'),
svg = d3.select('#map')
.call(d3.behavior.zoom().on("zoom", function () {
svg.attr("transform", "translate(" + d3.event.translate + ")" + " scale(" + d3.event.scale + ")")
}))
.append('g');
但在this时刻,它给出了:
Uncaught TypeError: Cannot read property 'zoom' of undefined
在html中,我有这个:
<svg id="map" class="map" viewBox="0 0 8000 2000"></svg>
P.S。灵感来自this
答案 0 :(得分:8)
尝试以下代码: 在d3.js的v4中, d3.behavior.zoom 更改为 d3.zoom
var svg;
svg= d3.select("svg")
.call(d3.zoom().on("zoom", function () {
svg.attr("transform", d3.event.transform)
}))
.append("g");