色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

d3.js 利用json畫地圖

方一強1年前8瀏覽0評論

D3.js是一個強大的JavaScript圖形庫,可以用于創建各種各樣的可視化。其中地圖是D3.js中非常有趣和實用的功能。本文介紹如何使用JSON和D3.js快速創建地圖。

D3.js第一個版本是由Mike Bostock在2011年推出的。它使得JavaScript可以輕松地控制SVG元素并將它們綁定到數據源。隨著時間的推移,它也變成了一個具有廣泛功能的庫。

首先要準備一個JSON文件,它包含了地圖上每個區域的形狀數據。免費的開源地圖數據可以在geojson-maps.ash.ms下載

{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"name": "Alabama"
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[-87.359296,35.00118],[-85.606675,34.984749],[-85.431413,34.124869],[-85.184951,32.859696],[-85.069935,32.580372],[-84.960397,32.421541],[-85.004212,32.322956],[-84.889196,32.262709],[-85.058981,32.13674],[-85.053504,32.01077],[-85.141136,31.840985],[-85.042551,31.539753],[-85.113751,31.27686],[-85.004212,31.003013],[-85.497137,30.997536],[-87.600282,30.997536],[-87.633143,30.86609],[-87.408589,30.674397],[-87.446927,30.510088],[-87.37025,30.427934],[-87.518128,30.280057],[-87.655051,30.247195],[-87.90699,30.411504],[-88.011052,30.657966],[-88.10416,30.685351],[-88.137022,30.499135],[-88.394438,30.367689],[-88.471115,31.895754],[-88.241084,33.796253],[-88.098683,34.891641],[-88.202745,34.995703],[-87.359296,35.00118]
]
]
}
},
]
}

準備好JSON文件之后,就可以開始書寫代碼了。

// 設置地圖的寬和高
var width = 960;
var height = 500;
// 設置投影模式, 等比縮放
var projection = d3.geoAlbersUsa()
.scale(1070)
.translate([width/2, height/2]);
//設置地圖路徑生成器
var path = d3.geoPath().projection(projection);
// 創建SVG容器,設置寬高
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
// 加載JSON文件
d3.json("map.json", function(error, us) {
if (error) throw error;
// 為每一個GeoJSON特征創建一個SVG路徑元素
svg.append("g")
.attr("class", "states")
.selectAll("path")
.data(us.features)
.enter().append("path")
.attr("d", path)
.style("fill", "#ccc")
.style("stroke", "#fff");
});

最后,我們就可以看到使用D3.js和JSON快速創建的地圖了。在這個基礎上,我們可以添加更多的交互和自定義元素。希望這篇文章對你有所幫助。