当前位置: 首页 > article >正文

echarts绘制2D地图

简介

此案例需要用到世界地图json数据,我把json文件放到我的资源中,有需要的自行下载。

 

安装插件

// 安装echats 
npm install echarts --save

项目中引用

1,引入安装的echarts插件

import * as echarts from 'echarts';

2,引入世界地图json文件

import WorldJSON from './world.json'

3,echarts 注册世界地图

//注册世界地图
echarts.registerMap('world', WorldJSON);

绘制地图代码

function draw(data) {
    var myChart = echarts.init(document.getElementById('map'));
    var option = {
        backgroundColor: '#001213',
        tooltip: {
            trigger: 'item',
            icon: 'query',
            // triggerOn: 'click',
            formatter: function (e, t, n) {
                let string = '';
                string += `<div style="padding:10px"><span style="padding-right:10px">${e.name}</span><span>(${e.value ? e.value : ''
                    }  台)</span> </div>`;
                let childList = e.data ? e.data.childs : [];
                childList.forEach((item) => {
                    string += `<div style="padding:0 10px 5px 10px;display:flex;justify-content: space-between;"><div style="padding-right:20px">${item.arg1}</div><div>${item.val1}台</div></div>`;
                });
                return string;
            },
            fontSize: '12px',
            backgroundColor: 'rgba(7,16,47,.6)', //设置背景图片 rgba格式
            color: 'black',
            borderWidth: '0', //边框宽度设置1
            borderColor: 'rgba(9,229,237,.2)', //设置边框颜色
            textStyle: {
                color: '#fff', //设置文字颜色
            },
            extraCssText: 'box-shadow: 0px 0px 20px inset #09E5ED',
        },
        grid: {
            left: '3%',
            right: '4%',
            bottom: '3%',
            // top:'10%',
            containLabel: true,
        },
        // visualMap: {
        //     min: 0,
        //     max: 1000,
        //     left: 0,
        //     bottom: 0,
        //     showLabel: !0,
        //     text: ['高', '低'],
        //     inRange: {
        //         color: ['#52f8fd', '#4bd3f9', '#62b7e7', '#7863fc']
        //     },
        //     pieces: [
        //         {
        //             gt: 4000,
        //             color: '#7863fc',
        //         },
        //         {
        //             gte: 3000,
        //             lte: 4000,
        //             color: '#6699f9',
        //         },
        //         {
        //             gte: 2000,
        //             lt: 3000,
        //             color: '#62b7e7',
        //         },
        //         {
        //             gt: 1000,
        //             lt: 2000,
        //             color: '#4bd3f9',
        //         },
        //         {
        //             gt: 0,
        //             lt: 1000,
        //             color: '#52f8fd',
        //         },
        //         {
        //             value: 0,
        //             color: '#52f8fd',
        //         },
        //     ],
        //     show: false,
        // },
        geo: {
            map: 'world',
            roam: true, // 是否可以缩放、拖拽
            scaleLimit: {
                min: 1,
                max: 2,
            },
            zoom: 1,
            label: {
                show: false,
                fontSize: '10',
                color: '#fff',
            },
            itemStyle: {
                // areaColor: "red",
                shadowColor: '#0d82dc',
                // shadowColor: 'rgba(255, 255, 255, 1)',
                shadowOffsetX: -2,
                shadowOffsetY: 2,
                shadowBlur: 10,
                borderWidth: 2,
                areaColor: '#004444',
                borderColor: '#00cccc',
            },
            emphasis: {
                itemStyle:{
                    areaColor: '#00cccc',
                },
                
                // shadowOffsetX: 0,
                // shadowOffsetY: 0,
                // borderWidth: 0,
                label:{
                    show:true,
                    fontSize: '10',
                    color: '#fff',
                }
            },
        },
        series: [
            {
                name: '整机销售台数 (台)',
                type: 'map',
                geoIndex: 0,
                data: [
                    { name: '广东', value: 100, selected: true }
                    // 其他数据...
                ]
            },
        ],
    };
    window.addEventListener('resize', () => {
        myChart.resize();
    });
    myChart.setOption(option);
}

效果图展示


http://www.kler.cn/a/228043.html

相关文章:

  • 【最后203篇系列】007 使用APS搭建本地定时任务
  • 护眼好帮手:Windows显示器调节工具
  • 再见了流氓软件~~
  • 【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(一)
  • LangChain的开发流程
  • python学opencv|读取图像(四十九)使用cv2.bitwise()系列函数实现图像按位运算
  • 中国城乡建设统计年鉴,pdf、xls格式,时间覆盖2002-2022年
  • Dockerfile保留字
  • pgsql隐式联查的笛卡尔积和子查询性能
  • django微博热搜数据分析与可视化系统python毕业设计
  • 利用k8s Infra 容器,解决pod网络故障注入的问题
  • Python第十五章(文件)
  • spring boot打完jar包后使用命令行启动,提示.jar 中没有主清单属性
  • flink实战--flink的job_listener使用解析
  • 【Docker】Docker Registry(镜像仓库)
  • HTTPS之使用acme.sh申请免费ssl证书
  • Vue实现视频播放
  • 项目安全问题及解决方法-----xss处理
  • gerrit(2) | 为什么使用 gerrit
  • 蓝桥杯刷题--python-1
  • vue前端+nodejs后端通信-简单demo
  • 网络安全面试题收集
  • 线程池,定时器以及阻塞队列(生产者/消费者模型)
  • 春节技术特辑:一体化运维管理系统,让节日更放心
  • unordered_map和unordered_set
  • Spring面试大全-IOC容器03