echarts 根据geojson 数据绘制区域图(精确到镇)

步骤:1)先获取区域(县、镇)json数据 ;2)使用echarts 绘制地图;

先上一波效果图(昆明市东川区)

 

 

 一、获取区域json数据

1、下载工具“水经微图”,

2、下载东川区,以及东川区各个镇的kml文件

 

 

 选择影像——50M以下

 

 

 注意:要下载,东川区,东川区下的每个镇;

3、打开网站(    http://geojson.io  ),合成地图生成json数据

 

 点击open——file  打开从水径微图下载的文件,选择后缀名为.kml 的文件,从区到镇依次添加,不可以先添加镇

 

 最终合成

 

 然后点击save——geojson 下载文件

4、将json数据复制到目录下并将文件后缀名改为.json

5、要给json数据里面的每一块区域设置名字,

 

 二、使用echarts 将地图绘制出来

html代码:

<div   id="allmap" style="width:100%;height:600px"> //必须设置宽高
                        
</div>

js 代码:

    var chartDom = document.getElementById('allmap');
        var myChart = echarts.init(chartDom);
        var option;

        /* myChart.showLoading(); */
        var myChart = echarts.init(document.getElementById('allmap'));
        $.get('../geojson/map.json', function(geoJson) {
            echarts.registerMap('map', geoJson, {});
            var option = {

                tooltip: {
                    trigger: 'item',
                    /* formatter: '{b}<br/>{c} (p / km2)' */
                    formatter: function(params) { //用于显示多个数据
                        var res = params.name + '<br/>';
                        var myseries = option.series;
                        for (var i = 0; i < myseries.length; i++) {
                            for (var j = 0; j < myseries[i].data.length; j++) {
                                if (myseries[i].data[j].name == params.name) {
                                    res += myseries[i].name + ' : ' + myseries[i].data[j].value + '</br>';
                                }
                            }
                        }
                        return res;
                    }


                },
                 visualMap: {
                    min: 500,
                    max: 50000,
                    text: ['High', 'Low'],
                    left: 'right',
                    realtime: false,
                    calculable: true,
                    show:false,
                    inRange: {
                        color: ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', "#718cef", "#947aad"]
                    }
                }, 
                series: [{
                        name: '碳排放',
                        type: 'map',
                        mapType: 'map',
                        aspectScale: 0.85, //地图长度比
                        label: {
                            normal: {
                                show: true,
                                textStyle: {
                                    color: '#000'
                                }
                            },
                            emphasis: {
                                show: true,
                                textStyle: {
                                    color: '#333'
                                }
                            }
                        },
                        data: [{
                                name: '阿旺镇',
                                value: 17000
                            },
                            /* {name: '阿旺镇', value: 19000}, */
                            {
                                name: '红土地镇',
                                value: 1000
                            },
                            {
                                name: '舍块乡',
                                value: 5000
                            },
                            {
                                name: '汤丹镇',
                                value: 20000
                            },
                            {
                                name: '铜都街道',
                                value: 25000
                            },
                            {
                                name: '拖布卡镇',
                                value: 30000
                            },
                            {
                                name: '乌龙镇',
                                value: 18000
                            },
                            {
                                name: '因民镇',
                                value: 2300
                            },

                        ]
                    }
                ]
            };
            myChart.setOption(option);
        });

——————end————————

 

 

 

posted @ 2021-06-03 18:30  凉面好好吃  阅读(5059)  评论(1编辑  收藏  举报