charts:绘制县级行政区域(如何白嫖Bigemap)

一、效果

二、echarts地图示例

1、echarts官网找一个地图的示例

2、咱们把usaJson替换成自己的json数据

3、可以看到,当替换成自己的json数据(chaohu.json)后,地图就会显示巢湖市的行政区域

三、如何获取到chaohu.json

1、进入到www.bigemap.com/reader/down...

下载全能版,安装bigemap

2、打开软件,点击【客户号】,加微信,让客服授权

3、选择巢湖市,点击下载按钮,下载巢湖的行政区域

下载下来是一个文件夹,我们需要用到kml文件

4、打开geojson.io/#map=8.79/3...

点击【open】,上传刚刚下载的kml文件

现在可以看到巢湖市的轮廓已经出来了

5、同样的方法,在Bigemap中将【夏阁镇】的kml文件下载下来

再导入到geojson中,可以看到json数据也更新了

再将【烔炀镇】导入,就拿到chaohu.json

6、找客服

当我在下载某个市的行政图时,希望把镇的边界也下载下来,发现这软件不允许,自己整每个镇,有些麻烦,可以让客服给你下载,他会给你一个xx县_行政边界.kml

四、完整代码

js 复制代码
      <div class="row_card">
        <div class="title">任务地图</div>
        <div id="mapChart" style="width: 100%; height: 500px"></div>
      </div>
      
      
      import echarts from 'echarts';
      import chaohu from './chaohu.json';
      
        mounted() {
          this.initMapChart();
        },
        
    // 地图
    initMapChart() {
      const charts = echarts.init(document.getElementById('mapChart'));
      echarts.registerMap('CHAOHU', { features: chaohu.features });
      const opt = {
        tooltip: {
          trigger: 'item',
          textStyle: { fontSize: 16, color: '#fff', fontWeight: 500 },
          formatter: params => {
            console.log('---', params);
            const { name, value, money, num } = params.data;
            const htmlJsx = `
              <div style="border-radius: 8px;padding: 7px 13px; background: linear-gradient(to bottom, rgba(82, 155, 250, 0.8), rgba(142, 192, 246, 0.8));">
                <div style="font-size: 14px; line-height: 20px;">${name || '-'}</div>
                <div style="margin-top: 8px; font-size: 12px;line-height: 17px;">累计采集人数</div>
                <div style="font-size: 12px;color: #FFDC95;line-height: 17px;">${value}</div>
                <div style="margin-top: 8px; font-size: 12px;line-height: 17px;">累计预授信总额(万)</div>
                <div style="font-size: 12px;color: #FFDC95;line-height: 17px;">${value}</div>
                <div style="margin-top: 8px; font-size: 12px;line-height: 17px;">累计用信余额(万)</div>
                <div style="font-size: 12px;color: #FFDC95;line-height: 17px;">${value}</div>
              </div>
            `;
            return htmlJsx;
          },
        },
        geo: [
          // 地图最外城边框
          {
            map: 'CHAOHU',
            aspectScale: 0.75,
            zoom: 0.81,
            layoutCenter: ['50%', '50%'],
            layoutSize: '120%',
            show: true,
            roam: false,
            label: { emphasis: { show: false } },
            itemStyle: {
              normal: {
                borderColor: 'rgba(192,245,249,.8)',
                borderWidth: 1,
                shadowColor: '#6FFDFF',
                shadowOffsetY: 0,
                shadowBlur: 10,
                areaColor: 'rgba(29,85,139,.6)',
              },
            },
            emphasis: { areaColor: 'rgba(29,85,139,.6)' },
          },
          // 地图最外层光晕
          {
            map: 'CHAOHU',
            aspectScale: 0.75,
            zoom: 0.81,
            layoutCenter: ['50%', '50%'],
            layoutSize: '120%',
            show: true,
            roam: false,
            label: { emphasis: { show: false } },
            itemStyle: {
              normal: {
                borderColor: 'rgba(192,245,249,.8)',
                borderWidth: 3,
                shadowColor: '#2C99F6',
                shadowOffsetY: 0,
                shadowBlur: 100,
                areaColor: 'rgba(29,85,139,.6)',
              },
            },
            emphasis: { areaColor: 'rgba(29,85,139,.6)' },
          },
        ],
        series: [
          {
            name: '',
            type: 'map',
            map: 'CHAOHU',
            label: { show: true, color: '#fff' },
            //地图块渐变颜色设置
            itemStyle: {
              normal: {
                areaColor: {
                  x: 0,
                  y: 0,
                  x2: 0,
                  y2: 1,
                  colorStops: [
                    { offset: 0, color: '#00b1fe' },
                    { offset: 1, color: '#0344cf' },
                  ],
                },
                borderColor: '#06b2ef',
                borderWidth: 1,
              },
              emphasis: {
                areaColor: '#01aefb',
                borderColor: '#fff',
                borderWidth: 1,
                shadowColor: 'rgba(0, 255, 255, 0.7)',
                shadowBlur: 10,
                label: { show: false },
              },
            },
            data: [
              { name: '夏阁镇', value: 20057.34, money: 100, num: 20 },
              { name: '烔炀镇', value: 20057.34, money: 100, num: 20 },
            ],
          },
        ],
      };
      charts.setOption(opt);
    },
相关推荐
煸橙干儿~~3 分钟前
分析JS Crash(进程崩溃)
java·前端·javascript
安冬的码畜日常12 分钟前
【D3.js in Action 3 精译_027】3.4 让 D3 数据适应屏幕(下)—— D3 分段比例尺的用法
前端·javascript·信息可视化·数据可视化·d3.js·d3比例尺·分段比例尺
l1x1n040 分钟前
No.3 笔记 | Web安全基础:Web1.0 - 3.0 发展史
前端·http·html
昨天;明天。今天。1 小时前
案例-任务清单
前端·javascript·css
zqx_72 小时前
随记 前端框架React的初步认识
前端·react.js·前端框架
惜.己2 小时前
javaScript基础(8个案例+代码+效果图)
开发语言·前端·javascript·vscode·css3·html5
什么鬼昵称3 小时前
Pikachu-csrf-CSRF(get)
前端·csrf
长天一色3 小时前
【ECMAScript 从入门到进阶教程】第三部分:高级主题(高级函数与范式,元编程,正则表达式,性能优化)
服务器·开发语言·前端·javascript·性能优化·ecmascript
NiNg_1_2343 小时前
npm、yarn、pnpm之间的区别
前端·npm·node.js
秋殇与星河3 小时前
CSS总结
前端·css