echarts大屏可视化,HTML+CSS加载全国、或某一省市(安徽省)(各个省市县)地图

7 篇文章 0 订阅
4 篇文章 0 订阅
该博客介绍了如何使用ECharts加载全国或特定省市(以安徽省为例)的地图,并展示地市的数据。首先,通过阿里云平台生成地图json文件,然后在JavaScript中调用ECharts注册地图并设置配置项,包括地图样式、数据标注等。最后,通过调整地图窗口大小实现响应式布局。示例代码详细展示了地图加载和数据绑定的全过程。
摘要由CSDN通过智能技术生成

echarts加载全国、或某一省市(安徽省)(各个省市县)地图:
全国地图大屏demo实例下载
安徽省地图大屏demo实例下载

先看一下效果图
在这里插入图片描述

1.地图的生成:
mapJson.json的生成。访问网址http://datav.aliyun.com/portal/school/atlas/area_selector
根据自己想要加载的范围选择,如安徽省
在这里插入图片描述
在这里插入图片描述
然后点击右侧的网址复制到浏览器访问
在这里插入图片描述
在这里插入图片描述
得到地图json,保存为mapJson.json供调用。

(function (root, factory) {
    if (typeof define === 'function' && define.amd) {
        // AMD. Register as an anonymous module.
        define(['exports', 'echarts'], factory);
    } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
        // CommonJS
        factory(exports, require('echarts'));
    } else {
        // Browser globals
        factory({}, root.echarts);
    }
}(this, function (exports, echarts) {
    var log = function (msg) {
        if (typeof console !== 'undefined') {
            console && console.error && console.error(msg);
        }
    }
    if (!echarts) {
        log('ECharts is not Loaded');
        return;
    }
    if (!echarts.registerMap) {
        log('ECharts Map is not loaded')
        return;
    }
   echarts.registerMap('anhui', ../common/mapJson.json);
}));

2.地图加载html的地图窗口写好,然后用javascript调用即可:

function map() {
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('map_1'));
var data = [
    {name: '安庆市', value: dataValue1[0].安庆市},
	{name: '亳州市', value: dataValue1[0].亳州市},
	{name: '蚌埠市', value: dataValue1[0].蚌埠市},
	{name: '滁州市', value: dataValue1[0].滁州市},
	{name: '池州市', value: dataValue1[0].池州市},
	{name: '阜阳市', value: dataValue1[0].阜阳市},
	{name: '淮南市', value: dataValue1[0].淮南市}, 
	{name: '淮北市', value: dataValue1[0].淮北市},
	{name: '黄山市', value: dataValue1[0].黄山市},
	{name: '合肥市', value: dataValue1[0].合肥市},
	{name: '六安市', value: dataValue1[0].六安市},
	{name: '马鞍山市', value: dataValue1[0].马鞍山市},
	{name: '宿州市', value: dataValue1[0].宿州市},
	{name: '铜陵市', value: dataValue1[0].铜陵市},
	{name: '芜湖市', value: dataValue1[0].芜湖市},
	{name: '宣城市', value: dataValue1[0].宣城市}, 
    {name: '砀山县', value: dataValue1[0].砀山县},
	{name: '广德市', value: dataValue1[0].广德市}
];
var geoCoordMap = {
    '安庆市':[117.043551,30.50883],
    '亳州市':[115.782939,33.869338],
	'蚌埠市':[117.363228,32.939667],
    '滁州市':[118.316264,32.303627],
	'池州市':[117.489157,30.656037],
    '阜阳市':[115.819729,32.896969],
	'淮南市':[117.018329,32.647574],
    '淮北市':[116.794664,33.971707],
	'黄山市':[118.317325,29.709239],
	'合肥市':[117.283042,31.86119],
    '六安市':[116.507676,31.752889],
	'马鞍山市':[118.507906,31.689362],
    '宿州市':[116.984084,33.633891],
	'铜陵市':[117.816576,30.929935],
    '芜湖市':[118.376451,31.326319],
	'宣城市':[118.757995,30.945667],
	'砀山县':[116.351113,34.426247],
    '广德市':[119.417521,30.893116]
};

var convertData = function (data) {
    var res = [];
    for (var i = 0; i < data.length; i++) {
        var geoCoord = geoCoordMap[data[i].name];
        if (geoCoord) {
            res.push({
                name: data[i].name,
                value: geoCoord.concat(data[i].value)
            });
        }
    }
    return res;
};

option = {
   // backgroundColor: '#404a59',
    tooltip : {
        trigger: 'item',
		formatter: function (params) {
              if(typeof(params.value)[2] == "undefined"){
              	return params.name + ' : ' + params.value;
              }else{
              	return params.name + ' : ' + params.value[2];
              }
            }
    },
  
    geo: {
        map: 'anhui',
        label: {
            emphasis: {
                show: true
            }
        },
        roam: false, //放大缩小
        itemStyle: {
            normal: {
                areaColor: '#2E9AFE',
                borderColor: '#002097'
            },
            emphasis: {
                areaColor: '#293fff'
            }
        }
    },
    series : [
        {
            name: '景数',
            type: 'scatter',
            coordinateSystem: 'geo',
            data: convertData(data),
            symbolSize: function (val) {
                return val[2] / 30;
            },
            label: {
                normal: {
                    formatter: '{b}',
                    position: 'right',
                    show: false
                },
                emphasis: {
                    show: true
                }
            },
            itemStyle: {
                normal: {
                    color: '#ffeb7b'
                }
            }
        }
    ]
};
		
        myChart.setOption(option);
        window.addEventListener("resize",function(){
            myChart.resize();
        });
    }

上图中的各个地市(省、县)的中心坐标可在json中获取,用来标注圆形数值的位置。
你学会了吗?

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木易GIS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值