Javascript D3地图缩放时出错

Javascript D3地图缩放时出错,javascript,d3.js,Javascript,D3.js,所以,我制作了一张地图,显示了陨石对世界的影响。地图可以在这里找到 我正在尝试启用地图上的缩放。我能够放大国家,但是代表陨石的圆圈没有相应地移动,我在控制台中得到一个错误。这些圆保持在原来的位置,它们不会根据缩放进行移动 这是我得到的错误 未捕获参考错误:未定义陨石 以下是缩放的相关代码 var zoom = d3.zoom() .on('zoom', zoomed); function zoomed() { map.attr('transform', d3.e

所以,我制作了一张地图,显示了陨石对世界的影响。地图可以在这里找到

我正在尝试启用地图上的缩放。我能够放大国家,但是代表陨石的圆圈没有相应地移动,我在控制台中得到一个错误。这些圆保持在原来的位置,它们不会根据缩放进行移动

这是我得到的错误

未捕获参考错误:未定义陨石

以下是缩放的相关代码

var zoom = d3.zoom()
             .on('zoom', zoomed);

function zoomed() {
  map.attr('transform', d3.event.transform);
  meteorite.attr('transform', d3.event.transform);
}

meteorite变量是匿名函数
函数(数据){…
的局部变量,因此在该函数之外不可用

如果将声明移到定义了
map
的位置,它将起作用:

...
//creating the g variable for the svg element
var map = svg.append('g');

//adding the group to the svg for meteorites
var meteorite = svg.append('g');
...

下面是更新的代码:

meteorite变量是匿名函数
函数(数据){…
的本地变量,因此在该函数之外不可用

如果将声明移到定义了
map
的位置,它将起作用:

...
//creating the g variable for the svg element
var map = svg.append('g');

//adding the group to the svg for meteorites
var meteorite = svg.append('g');
...
以下是更新的代码: