eacharts中国地图省市区点击显示

1.安装echarts.js 相关模块

npm i echarts

2. 在 main.js 文件中搭建全局

// 引入echarts
import echarts from 'echarts'
Vue.prototype.$echarts = echarts

在这里插入图片描述

3.vue文件种引入相关文档

import echarts from "echarts";
import "./china.js"; // 引入中国地图数据

4.隔离相关文档

在 node_modules 文件中查找到 eacharts 下的 map 文件 并隔离
在这里插入图片描述
在这里插入图片描述

4.搭建vue文件

<template><div class="g-home relative"><div id="map" ref="myEchart" @click="showChinaMap"></div></div>
</template><script>
import echarts from "echarts";
// import $ from "jquery"
import "./china.js"; // 引入中国地图数据
import Provinces  from "../../static/province/shanghai.json"; // 引入中国地图数据
export default {data() {return {provinces: ["shanghai","hebei","shanxi","neimenggu","liaoning","jilin","heilongjiang","jiangsu","zhejiang","anhui","fujian","jiangxi","shandong","henan","hubei","hunan","guangdong","guangxi","hainan","sichuan","guizhou","yunnan","xizang","shanxi1","gansu","qinghai","ningxia","xinjiang","beijing","tianjin","chongqing","xianggang","aomen","taiwan",],provincesText: ["上海","河北","山西","内蒙古","辽宁","吉林","黑龙江","江苏","浙江","安徽","福建","江西","山东","河南","湖北","湖南","广东","广西","海南","四川","贵州","云南","西藏","陕西","甘肃","青海","宁夏","新疆","北京","天津","重庆","香港","澳门","台湾",],map: {},province: "", //记录进入的省级地图名称};},mounted() {this.$nextTick(() => {//使用vue.$nextTick()方法可以dom数据更新后延迟执行this.initMap();});},methods: {//地图参数配置getMapOpt(place) {let option = {// 进行相关配置title: {text: "全国范围内进入城市险带来的潜在理赔量",left: "center",top: 30,textStyle: { fontSize: 20 },},tooltip: {}, // 鼠标移到图里面的浮动提示框dataRange: {show: false,min: 0,max: 1000,text: ["High", "Low"],realtime: true,calculable: true,color: ["#2846FF"],},geo: {// 这个是重点配置区map: place ? place : "china", // 表示中国地图roam: true,label: {normal: {show: true, // 是否显示对应地名textStyle: {color: "#fff",},},},// 移动时效果itemStyle: {normal: {color: "#EFF3FB", //地图背景色borderColor: "#fff", //地图边界线颜色textStyle: {color: "#000", //字体色},},emphasis: {areaColor: "#87CEFA",shadowOffsetX: 0,shadowOffsetY: 0,shadowBlur: 20,borderWidth: 0,shadowColor: "#fff",},},},series: [{type: "scatter",coordinateSystem: "geo", // 对应上方配置},{name: "客户数量", // 浮动框的标题type: "map",geoIndex: 0,data: [{name: "上海",value: 100,},{name: "浦东新区",value: 100,},{name: "浙江",value: 142,},], //如果有业务数据,就按该格式绑定到这里},],};return option;},//用于在省级地图,点击空白处返回全国地图,这里要根据自己的业务数据来判断是否返回showChinaMap() {this.map.dispose();this.initMap();},//显示各省地图getProvinceMap(province) {echarts.registerMap("ditu", require(`../../static/province/${province}.json`)); //注册省级地图this.initMap("ditu");},initMap(place) {this.map = echarts.init(document.getElementById("map"));window.onresize = this.map.resize;let option = this.getMapOpt(place);if (option && typeof option === "object") {this.map.setOption(option, true);}this.map.on("click", (param) => {event.stopPropagation(); // 阻止冒泡// 找到省份名let provinceIndex = this.provincesText.findIndex((x) => {return param.name === x;});if (provinceIndex === -1) {// 没找到省份名,代表进入到了市图层,这里可以放业务代码return;} else {this.map.dispose();this.province = this.provinces[provinceIndex];// 重新渲染各省份地图this.getProvinceMap(this.province);}});},},
};
</script><style lang="less">
.g-home {height: 100%;overflow: hidden;opacity: 1;background: #ffffff;border-radius: 16px;box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.1);#map {width: 100%;height: 100%;background: #fff;border-radius: 4px;border: 1px solid #ebeef5;box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);}
}
</style>

文件下载路径 :https://download.csdn.net/download/weixin_44694682/18612280

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/247831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CF2B The least round way(贪心+动规)

题目 CF2B The least round way 做法 后面\(0\)的个数&#xff0c;\(2\)和\(5\)是\(10\)分解质因数 则把方格中的每个数分解成\(2\)和\(5\)&#xff0c;对\(2\)和\(5\)求两边动规&#xff0c;得出最小值\(ansmin(num_2,num_5)\) 我们贪心地选择最小值所对应的\(2\)或\(5\)&…

JS 中的return false的作用

在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为. Return False 就相当于终止符,终止默认的事件行为&#xff0c;反之,Return True 就相当于执行符,执行终止默认的事件行为。 在js中return false的作用一般是用来取消默认动作的。比如你单击一个链接除了触发你…

中英翻译(基于百度翻译)

先来看效果图 只做了简单的在线翻译&#xff0c;语音翻译和图片翻译都要钱&#xff0c;哈哈 市面上有名气的翻译公司就是有道和百度了&#xff0c;有道尝试了一下&#xff0c;分为API和SDK两种&#xff0c;但是demo下载下来跑不了 百度的就是API&#xff0c;也很简单&#xff0…

Vue中使用input简易的上传图片

<div class"boximg"><div class"topimg"><!-- <img :src"filePath" width"200px" height"170px" /> --></div><div class"botimg" click"imgClick()">上传logo<…

jQuery选择器之层级选择器

文档中的所有的节点之间都是有这样或者那样的关系。我们可以把节点之间的关系可以用传统的家族关系来描述&#xff0c;可以把文档树当作一个家谱&#xff0c;那么节点与节点直接就会存在父子&#xff0c;兄弟&#xff0c;祖孙的关系了。 选择器中的层级选择器就是用来处理这种关…

文件 图片 上传 及少许正则校验

文件 & 图片 上传 及少许正则校验 <template><div style"padding: 20px"><Row><Col span"24"><div><CFlex type"flex" justify"space-between" align"midlle"><div class"…

bootstrap-table.js如何根据单元格数据不同显示不同的字体的颜色

在bootstrap-table.js里面列属性 formatter就是用来格式化单元格的&#xff0c;其默认值是undefined 类型是function&#xff0c;function(value, row, index), value&#xff1a;该cell本来的值&#xff0c;row&#xff1a;该行数据&#xff0c;index&#xff1a;该行序号&am…

SVN_06导入项目文档

把这个项目的文档迁入到SVN Server上的库中 【1】首先右键点击projectAdmin目录&#xff0c;这时候的右键菜单例如以下图看到的&#xff1a;选择copy URL toCLipboard,就是复制统一资源定位符&#xff08;URL&#xff09;到剪贴板中 https://KJ-AP01.中国.corpnet:8443/svn/pro…

实现省市二级联动效果

实现效果&#xff1a; 代码&#xff1a; <template><div class"main_tableau"><div class"page_title">百城精算编辑</div><CFlex type"flex" justify"space-between"><div style"margin-top…

jquery操作select(取值,设置选中)

jquery操作select(增加&#xff0c;删除&#xff0c;清空) http://huapengpeng1989412.blog.163.com/blog/static/58828754201342841940720/ jQuery获取Select选择的Text和Value: 123456789$("#select_id").change(function(){//code...}); //为Select添加事件&am…

手机验证码获取

<el-form-item label"短信验证码" required><el-input v-model"ruleForm.verificationcode" placeholder"请添加验证码"><el-button v-if"isdisabled" slot"suffix" style"color:#409EFF;" type&…

关于RGB屏调试的一些知识(转)

关于RGB屏调试的一些知识转载于:https://www.cnblogs.com/LittleTiger/p/10983212.html

在bootstrap table中使用Tooltip

//偏好主题function preferenceFormatter(value, row, index) {var nameString "";if (value.length > 6) {nameString value.substring(0,6) ...;} else{nameString value;}return [<a href"#" data-toggle"tooltip" title value >…

实现值两者之间添加 , 、 | 等字符

展示效果&#xff1a; <span v-for"(item, index) in projectData.bdOwnerList" :key"index"><span style"white-space: nowrap">{{ item.userName }}<spanv-if"projectData.bdOwnerList.length - 1 ! index"style&qu…

spring-cloud搭建

1、myApplicaion 启动服务类上层必须有一层包 2、报错 com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect 或者com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known…

JS ===和==区别

这是一种隐式类型转换 var a 12; var b 12; alert(a b);//先把两边的转换成一样的&#xff0c;再进行比较 。结果会返回true alert(a b);//不转换两边类型&#xff0c;直接比较,结果返回false

单页面轮播图滚动

现在网上好多类似的效果&#xff0c;今天心情好&#xff0c;就私自模仿一个去&#xff0c;代码如下。 单页面网站 网站首页公司简介公司产品公司荣誉招聘英才联系我们window.οnscrοllfunction(){ var scTopdocument.documentElement.scrollTop||document.body.scrollTop; va…

xBIM 基础16 IFC的空间层次结构

系列目录 【已更新最新开发文章&#xff0c;点击查看详细】 本篇介绍如何从文件中检索空间结构。IFC中的空间结构表示层次结构的嵌套结构&#xff0c;表示项目&#xff0c;站点&#xff0c;建筑物&#xff0c;楼层和空间。如果您查看IFC文档&#xff0c; 您会发现建筑物可以…

如何判断两个jq对象是同一个对象

如果说要判断是否同一对象&#xff0c;当然是用 来判断&#xff0c;但实际上两个不同的 jQuery 对象可能是对同一个/组 DOM 对象的封装&#xff0c;这个时候可以用 is 来判断&#xff0c;比如 var a $(".editor"); var b $(".editor");console.log(a b…

状态管理工具vuex的基本使用(vuebus的理解)

vuex的展示图 1. vuex 的基本结构 const store new Vuex.Store({state: {} //相当于 vue结构中的 data getters: {}, // 相当于vue结构中的计算属性使用actions: {}, // 相当于vue结构中的监听属性使用mutations: {},//相当于vue结构中的 methods 方法集合 &#xff08;其中方…