Echarts是一款基于Javascript的數(shù)據(jù)可視化工具庫,支持各種常見的圖表展示,其中包括地圖。Echarts地圖讀取json數(shù)據(jù)可以實(shí)現(xiàn)自定義地圖圖形和標(biāo)注信息的展示。本文將介紹如何在Echarts中讀取json格式的地圖數(shù)據(jù)。
首先,在Echarts官網(wǎng)下載地圖數(shù)據(jù),以中國地圖為例,下載地址為https://echarts.apache.org/examples/zh/index.html#chart-type-map。下載后得到以下json文件:
{ "type": "FeatureCollection", "features": [{ "type": "Feature", "properties": { "id": "110000", "name": "北京市", "cp": [116.405285, 39.904989], "childNum": 16 }, "geometry": { "type": "Polygon", "coordinates": [ [ [116.22004000000016, 39.850710000000111], [116.22469800000013, 39.857234000000122], ... ] ] } }] }
接下來,在Echarts中使用geoJson格式加載地圖數(shù)據(jù):
// 引入echarts import echarts from 'echarts'; // 初始化echarts,并加載地圖數(shù)據(jù) var myChart = echarts.init(document.getElementById("map")); myChart.showLoading(); // 通過ajax加載地圖json數(shù)據(jù) $.get('/static/map/json/china.json', function (geoJson) { // 隱藏加載動(dòng)畫 myChart.hideLoading(); // 注冊地圖 echarts.registerMap('china', geoJson); // 在地圖上添加標(biāo)注 myChart.setOption({ series: [{ type: 'map', map: 'china', data: [ {name: '北京', value: 123}, {name: '上海', value: 234}, ... ] }] }); });
以上代碼會在頁面上呈現(xiàn)一個(gè)地圖,并在地圖上添加了標(biāo)注信息。其中,echarts.registerMap('china', geoJson)
將json數(shù)據(jù)注冊為地圖數(shù)據(jù),并指定地圖的名稱為"china",type: 'map'
表示將要?jiǎng)?chuàng)建一個(gè)地圖實(shí)例,map: 'china'
則指定了將要展示的地圖為"china",data
屬性可以控制在地圖上顯示的標(biāo)注信息。
總之,使用Echarts地圖讀取json數(shù)據(jù)可以方便地實(shí)現(xiàn)自定義地圖展示和標(biāo)注信息的添加。不僅僅可以展示全球地圖,還可以根據(jù)實(shí)際需求自定義區(qū)域地圖,并加上標(biāo)注信息,非常實(shí)用。