• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 详解vue2项目优雅封装echarts地图的方法

详解vue2项目优雅封装echarts地图的方法

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了vue2项目封装,封装echarts地图等相关知识,希望对您有所帮助

vue2项目中如何优雅的封装echarts地图?下面本篇文章给大家介绍一下vue2项目中封装echarts地图比较优雅的方式,希望对大家有所帮助!


详解vue2项目优雅封装echarts地图的方法


区域地图选区域时,需要弹窗展示数据,样式是各种各样的,各种排列的数据、图文混搭、视频......这里除了封装echarts区域地图模块,还介绍了下自定义弹窗的实现、自定义弹窗动态加载接口数据的方式

能学到的知识

1、echarts地图模块封装,可复用

2、echarts地图自定义弹窗(显示自定义样式、自定义数据、自定义图片),其它图表的自定义弹窗可参考。

3、echarts地图自定义弹窗动态展示接口数据

4、基于姐姐篇实现的,这个地图模块也是自适应的

5、基于vue2 、vue cli3、echarts 5

效果图

先上个效果图吧,说明下实现的效果。

1、广州区域地图

2、自定义弹窗,显示选中地区的名称、区号,弹窗加了个小图片

3、基本上图片、视频什么的,都可以在自定义弹窗上显示,这里只展示下自定义弹窗加图片的方式,视频同理的,不介绍了,有兴趣自己随便试试就好

4、弹窗数据是从模拟接口取的


详解vue2项目优雅封装echarts地图的方法


注意

1、vue中echarts 5.x以下版本和5.x以上版本引入的区别

5.x以下版本

import echarts from 'echarts'

5.x以上版本

import * as echarts from 'echarts'

2、记得在vue.config.js中开启运行时编译功能

runtimeCompiler: true

实现

数据准备

|-- public    |-- data        |-- 4401.json        |-- mapdata.json    |-- images        |-- map-ic.png

1、4401.json是广州区域的geojson数据,用来给echarts显示广州的区域地图

2、mapdata.json是模拟接口请求的假数据,自己随便自定义了,在获取数据后,看情况处理下传到封装好的echarts地图模块就行,这里模拟接口请求的知识可参考这里: https://juejin.cn/post/6995147964427534373/

3、map-ic.png地图自定义弹窗用到的图片

echarts地图模块封装

|-- src    |-- components        |-- chart            |-- options    // 存放各种图表的option                |-- map    // 地图option                    |-- index.js

具体代码如下:

import * as echarts from 'echarts' const getSimpleMap = (jsonMap, data, config) => {  if (!echarts.getMap(jsonMap.mark)) {    echarts.registerMap(jsonMap.mark, jsonMap.json)  }  const defaultConfig = {    tooltip: {      // 窗口外框      trigger: 'item',      padding: 0,      borderWidth: 0,      borderColor: '#FFFFFF',      backgroundColor: '#FFFFFF',      formatter: (params) => {        const { data } = params        const str = `<div style="width:300px;height: 98px;box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.8);                    color: #fff;text-align:left;border-radius: 6px;">                    <div style="background-color: rgba(102, 182, 255, 1);height: 44px;line-height: 44px;font-size:14px;font-weight:400;border-top-left-radius: 6px;border-top-right-radius: 6px;display: flex;align-items: center;">                        <img style="width: 13px;height:16px;margin-left: 24px;margin-right: 3px;" src="images/map-ic.png">${data.name}                    </div>                    <div style="width: 100%;height:54px;display: flex;flex-wrap: wrap;">                        <div style="display: flex;justify-content: space-between;width: 100%;padding-left:15px;padding-right: 15px;">                            <div style="display:flex;align-items:center;width:132px;">                                <div style="font-size: 12px;color: #555555;margin-right:10px;">区号:</div>                                <div style="font-size: 14px;color: #333333;">${data.hoverObj == null ? '' : data.hoverObj.adcode}</div>                            </div>                        </div>                    </div>                </div>`        return str      }    },    geo: {      map: jsonMap.mark,      type: 'map',      layoutCenter: ['50%
  


 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 详解vue2项目优雅封装echarts地图的方法

相关文章

  • Discuz3.4特殊字符乱码解决方案
  • PHP读取Excel图片对象,并保存替换为相对路径
  • PS快速制作一款华丽的按钮
  • 帝国CMS后台密码忘了怎么办,找回密码的两种方法
  • PHP如何接入微信支付分(代码示例)
  • 使用bootstrap怎么实现分页
  • 数据库优化的几种方式分别是什么
  • JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
  • 大文件怎么快速上传?来看看我的实现方法!
  • nestjs返回给前端数据格式的封装实现

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 帝国CMS下载地址不用弹窗修改方式
    • 给dedecms软件列表页添加下载次数的方法
    • 浅谈nodejs利用node-xlsx模块读取excel数据的方法
    • 帝国备份王密码忘记了怎么办?
    • Centos MySQL 忘记密码怎么办
    • 18个你需要知道的JavaScript优化技巧
    • 在PHP中实现加密的这三种方法,你会选择哪个?
    • Javascript如何获取用户输入的值
    • PhotoShop打造可爱的糖果文字特效制作教程
    • WordPress网站优化方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有