我正在尝试使用D3.js,但我不能。我有下面的代码,但它不打印巴西的地图。屏幕没有显示任何错误,它可能是什么?我的文件“meso.json”是topojSON格式,但是它已经在d3.js代码中将topojSON转换为GeoJson:
<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>
和所有人类似。