简体   繁体   English

D3.JS'zoom'未定义

[英]D3.JS 'zoom' undefined

I am trying to make simple zoom/pan solution, using this code 我正在尝试使用此代码进行简单的缩放/平移解决方案

  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');

But at this moment it gives: 但在一刻它给:

Uncaught TypeError: Cannot read property 'zoom' of undefined

In html I have just this: 在HTML中,我有这个:

<svg id="map" class="map" viewBox="0 0 8000 2000"></svg>

PS Inspired by this PS灵感来自于此

Try Below code: in v4 of d3.js, d3.behavior.zoom changed to d3.zoom 尝试下面的代码:在d3.js的第4版中, 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");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM