2017-08-21 5 views
2

初めてd3.jsとGeoJSONで何かを構築しようとしています。私は国を取得することができた - エストニアは表示されますが、それはあなたがそれをほとんど目にすることができないほど小さいです。私は投射geoMercator()スケールでプレイしようとしましたが、動作しません - サイズの増加はありません。d3.js投影スケールは国のサイズを大きくしません

(棒グラフの下)の下に添付の画像をご覧ください:私が間違って何をやっている

var projection = d3.geoMercator() 
      .translate([w/2, h/2]) 
      .scale([100]); 

     var path = d3.geoPath() 
      .projection(projection) 



     var w3 = 2000; 
     var h3 = 1500; 

     var svg = d3.select("body") 
      .append("svg") 
      .attr("width", w3) 
      .attr("height", h3) 


     d3.json("estonia.json", function (json){ 
      svg.selectAll("path") 
       .data(json.features) 
       .enter() 
       .append("path") 
       .attr("d", path) 
       .style("fill", "#2294AA"); 
     }) 

enter image description here

ここに私ののjsのですか?

答えて

1

私はあなたのコードを取って、スケールを大きくするとエストニアが姿を消したのを見ました。このような突起を中央に有していた:

var projection = d3.geoMercator() 
    .center([24.312863, 57.793424]) 
    .scale([500]) 
    .translate([w/2, h/2]) 

Iは.jsonファイルから[24.312863、57.793424]の座標を取りました。

+0

非常に感謝!なぜこれらの特定の座標ですか?正確に中心は何ですか? –

+0

彼らは要素に属し、私が持っていた.jsonファイルの最初のものでした。 ** center([x、y])**は基本的にその場所に焦点を合わせます。 –

関連する問題