2017-01-12 4 views
0

したがって、世界に隕石の影響を示すマップを作成しました。マップはここにズームオンのD3地図でのエラー

http://codepen.io/redixhumayun/full/VPepqM/

私は地図上のズームを有効にしようとしています見つけることができます。国を拡大することはできますが、隕石を表す円はそれに応じて移動せず、コンソールにエラーが表示されます。サークルは元の位置と同じ場所にあり、ズームに応じて移動しません。ここで

ので、その関数外では使用できません、私はここで

Uncaught ReferenceError: meteorite is not defined

はズーム

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

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

答えて

3

隕石変数は、匿名関数function(data){ ...に対してローカルであるため、関連するコードで取得エラーです。

あなたはmapは、それが動作します定義されている場所に出宣言を移動した場合:そのためhttp://codepen.io/anon/pen/egZdXO

+0

ありがとう:

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

はここで更新されたコードです。本当に愚かな間違い! –