2016-11-30 30 views
0

我正在尝试使用D3.js,但是我不能。我有下面的代码,但它不打印巴西的地图。屏幕不显示任何错误,它可能是什么?我的文件“meso.json”是topojSON格式,但它变换成topojSON已经以GeoJSON在d3.js代码:D3.js不显示屏幕上的任何信息

<html> 
    <head> 
     <title>D3.js</title> 
     <meta charset="utf-8" /> 
     <script src="http://d3js.org/d3.v3.min.js"></script> 
     <script src="http://d3js.org/queue.v1.min.js"></script> 
     <script src="http://d3js.org/topojson.v1.min.js"></script> 

     <script> 

      var width = 900, 
       height = 650; 

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

      var projection = d3.geo.mercator() 
      .center([55,10]) 
      .scale(750); 

      var path = d3.geo.path() 
      .projection(projection); 

      queue() 
      .defer(d3.json, "topo/meso.json") 
      .await(ready); 

      function ready(error, br_mesos){ 

       if(error) return console.error(error); 

       var mesos = topojson.feature(br_mesos, br_mesos.objects.meso); 

       svg.append("path") 
       .datum(mesos) 
       .attr('d', path) 
       .attr('class', 'mesos'); 

      } 
     </script> 
    </head> 

    <body> 
    </body> 
</html> 
+0

我不确定你是否尝试过,但你的中心坐标应该是负值。 –

回答

0

请所有进口的改变从HTTP到HTTPS某些浏览器会阻止HTTP。

为如:改变所有<script src="http://d3js.org/topojson.v1.min.js"></script><script src="https://d3js.org/topojson.v1.min.js"></script>和类似。