我正在嘗試使用D3.js和this geoJSON文件顯示印度地圖。當我在瀏覽器中運行以下HTML文件時,地圖不會生成,控制檯上也沒有錯誤。使用D3.js投影顯示地圖
我懷疑這與投影有關,因爲當我從路徑變量中移除投影時,我會在svg的頂部獲得一張小地圖。我嘗試了墨卡託,阿爾伯斯和其他預測,但似乎沒有任何工作。
代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>India</title>
<script src="https://d3js.org/d3.v4.min.js"></script>
</head>
<body>
<script type="text/javascript">
//Width and height
var w = 500;
var h = 500;
var projection = d3.geoMercator()
.translate([w/2, h/2])
.scale(500);
//Define default path generator
var path = d3.geoPath()
.projection(projection);
//Create SVG element
var svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height", h);
var rectangle = svg.append("rect")
.attr("height", h).attr("width", w)
.attr("fill", "transparent")
.attr("stroke", "black")
.attr("stroke-width", 1);
//Load in GeoJSON data
d3.json("india.json", function(json) {
//Bind data and create one path per GeoJSON feature
svg.selectAll("path")
.data(json.features)
.enter()
.append("path")
.attr("d", path)
});
</script>
</body>
</html>
非常感謝您的詳細解答,非常感謝。 – Hyperbola
很高興我可以幫助 –
*「我的頭頂」*和繁榮,就在目標! Mate,你是製圖員嗎? :-) –