Echarts 是一個用于展示數據的可視化工具,它不僅支持折線圖、柱狀圖等基礎圖表,還支持多種地圖類型。在使用 echarts 地圖組件時,我們需要提供一個特定的 Json 格式的數據文件來描述地圖各個區域的數據。下面我們詳細介紹一下 echarts 地圖 Json 文件的格式和使用方法。
首先,我們來看一下 echarts 地圖 Json 文件的基本格式:
{ "type": "FeatureCollection", "features": [ { "type": "Feature", "id": "110101", "properties": { "name": "東城區" }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [116.416357, 39.928353], [116.416422, 39.918023], ... ] ] ] } }, ... ] }
在這個文件中,我們可以看到它是一個標準的 GeoJSON 格式文件,有一個 type 字段來說明它的類型是 FeatureCollection,features 是一個由 Feature 對象組成的數組,每個 Feature 對象中包含了一個 id(區域編號)、properties(該區域的屬性信息)和 geometry(該區域的幾何形狀)字段。
其中,geometry 又包含了 type(幾何類型)和 coordinates(坐標)兩個字段。對于 echarts 地圖來說,目前支持的幾何類型有 Point(點)、LineString(線)、Polygon(多邊形)、MultiPoint(多個點)、MultiLineString(多條線)和 MultiPolygon(多個多邊形)六種。而對于中國地圖來說,我們一般使用的都是 MultiPolygon 類型。
最后,我們需要在 echarts 中使用 echarts.getMap 方法來加載地圖 Json 文件,并在 series 中配置地圖類型和數據項名稱,就可以在頁面中看到我們生成的地圖了。
let myChart = echarts.init(document.getElementById('map')) myChart.showLoading() // 加載地圖數據 $.get('/static/map.json', function (geoJson) { myChart.hideLoading() echarts.registerMap('myMap', geoJson) // 設置 series myChart.setOption({ series: [{ type: 'map', map: 'myMap', label: { show: true }, itemStyle: { ... }, data: data // 根據實際情況設置數據項 }] }) })