<div id="china3" :style="{height:'700px',width:'100%',background:'#0b0518'}"></div>
import echarts from 'echarts'
import '../../../static/js/china.js' // 引入中国地图数据
import {provinceJson,cityArr} from './mapjson.js'//相关省市json
export default {name: 'chinaMapList',title: '营业点中国地图分布',components: {},data() {return {chinaJson: null,cityArr: cityArr,option: null,data: [],province: '',provinceJson:provinceJson}},methods: {chinaJsonLoad() {this.$get('/static/json/china.json').then(res => {this.chinaJson = JSON.parse(JSON.stringify(res.data))setTimeout(()=>{this.loadChina3()},100)})},//展示中国地图showChina() {this.province = ''this.getMapRefionDataLoad()//调用对应数量},//展示城市showCity(zhName, pyName) {this.$get('/static/json/province/' + pyName + '.json').then(res => {this.chinaJson = res.datathis.getMapCityDataLoad(zhName)//调用数量})},//全部加载getMapRefionDataLoad() {this.$get(this.GLOBAL.API_GET_MAP_TABLE2).then(res => {res.data.data.forEach(item => {item['name'] = item['省份']item['amountAll'] = item['总体销售额']item['value'] = item['渠道数量']item['selfAmount'] = item['自有产品销售额']})this.data = res.data.datathis.chinaJsonLoad()})},//城市加载getMapCityDataLoad(zhName) {console.log('市')this.province = zhNameif (zhName == "北京市" || zhName == "天津市" || zhName == "重庆市" || zhName == "上海市") {let params = {province: zhName,city: zhName}let url = this.GLOBAL.API_GET_MAP_COUNTYthis.$get(url, params).then(res => {res.data.data.forEach(item => {item['name'] = item['区县']item['amountAll'] = item['总体销售额']item['value'] = item['渠道数量']item['selfAmount'] = item['自有产品销售额']})this.data = res.data.data                  this.loadChina3(zhName)})} else {let params = {province: zhName}let url = this.GLOBAL.API_GET_MAP_CITYthis.$get(url, params).then(res => {res.data.data.forEach(item => {item['name'] = item['城市']item['amountAll'] = item['总体销售额']item['value'] = item['渠道数量']item['selfAmount'] = item['自有产品销售额']})this.data = res.data.data              this.loadChina3(zhName)})}},//营业点分布echarts地图loadChina3(cityNameValue='china') {console.log(cityNameValue)var myChart = echarts.init(document.getElementById('china3'));echarts.registerMap(cityNameValue||'china', this.chinaJson)// 注册地图   let _this=this;var convertData = function (data) {var res = [];for (var i = 0; i < data.length; i++) {var geoCoord = _this.provinceJson[data[i].name];if (geoCoord) {res.push({name: data[i].name,value: geoCoord.concat(data[i].value),value1: data[i].value,amountAll:data[i].amountAll,selfAmount:data[i].selfAmount});}}return res;};let option = null;    option = {backgroundColor: '#0b0518',//地图背景色title: {text: '营业点分布图',left: '40%',top: 'top',textStyle: {color: '#fff'}},tooltip: {trigger: 'item',formatter: function (a) {return `${a['name']}</br>渠道数量: ${a['data'] && a['data'].value1&&a['data'].value1.toString().replace(/\B(?=(?:\d{3})+\b)/g, ',') || 0} 个</br>总体销售额: ${a['data'] && a['data'].amountAll&&a['data'].amountAll.toString().replace(/\B(?=(?:\d{3})+\b)/g, ',') || 0} 万元 </br>自有产品销售额: ${a['data'] && a['data'].selfAmount&& a['data'].selfAmount.toString().replace(/\B(?=(?:\d{3})+\b)/g, ',') || 0} 万元`}},geo: {map: cityNameValue||'china',roam: true, //是否开启平游或缩放label: {normal: {//是否展示省市区文字展示show: false// show: true},emphasis: {show: false},           },itemStyle: {normal: {areaColor: '#363c47',borderColor: '#454950'},emphasis: {areaColor: '#363c47',}}},series: [{type: 'effectScatter',mapType: cityNameValue ||'china',coordinateSystem: 'geo', data: convertData(this.data),symbolSize: function (val) {if(val[2]<400){return 4}else{return val[2] / 150;}},encode: {value: 2},label: {formatter: '{b}',position: 'right',show: false},itemStyle: {color: '#0271d0'},emphasis: {label: {show: false}}}]};myChart.clear()myChart.setOption(option, true);myChart.off('click')myChart.on('click', (param) => {var cityName = param.name;// 城市中文名// 查找是否有对应城市,有则加载城市for (var i = 0, len = this.cityArr[0].length; i < len; i++) {if (cityName == this.cityArr[0][i]) {this.showCity(this.cityArr[0][i], this.cityArr[1][i]);return;}}//没有找到,返回中国地图this.showChina()});var myZoommyChart.on('georoam',function(params){console.log(params)})}},mounted() {this.getMapRefionDataLoad()},activated() {this.getMapRefionDataLoad()}
}

echarts地图下钻打点案例相关推荐

  1. echarts 地图下钻 功能

    vue 实现 echarts 地图下钻 安装 效果图 echarts 安装 npm install echarts // 引入echarts 中国地图 import echarts from 'ech ...

  2. echarts地图下钻与回钻

    最近在项目实际业务中为了更清晰的展示各省市的数据,使用echarts实现了地图的下钻和回钻.里面加了实际业务,所以代码有些冗余. import * as echarts from 'echarts' ...

  3. vue+echarts地图下钻(全国-省-市)

    本文中使用的数据为行政区编码json数据,大家自行下载.(本人超级菜鸟一枚,逻辑比较混乱,记录一下以免以后遇到相似功能忘记怎么写,也希望能帮到需要实现同样功能的人) 地图资源: 整体思路:1.先注册全 ...

  4. echarts地图下钻(vue)

    效果 <template><div><h3>地图下钻</h3><button class="button" @click=&q ...

  5. echarts 地图下钻 到市 到区

    echarts的地图展示,并且带有下钻到下级市区 vue.js里面操作echarts //vue里面修改模板 <template><div id="china_map_bo ...

  6. echarts地图下钻

    最近做的项目用到了echarts的地图,默认为市区地图,需要实现从市区下钻到县级,首先我用的是echarts3.0实现的地图钻取功能. 要实现的效果为图(市区可切换,点市区还可以钻取) 1.第一步去e ...

  7. echarts地图下钻效果

    先看效果图,第二张是因为数据差距过大导致.可调 再看代码 import * as echarts from 'echarts'; import mapJson from '../utils/福州市.j ...

  8. Echarts地图下钻,省钻到市,市钻到县,县钻到乡

    由于经费问题,只写了省钻到市,市钻到县与县钻到乡在本文中根本没有出现. 先贴两张图,第1张是全国地图: 第2张是点击河北后的河北省地图: 步骤详解: 1. 引入js const echarts = r ...

  9. echarts实现地图下钻

    公司的新项目需要写这样的地图,还要能两级下钻到省,下面是我写好了的样子,我今天就是复一下盘: 如何用echarts显示地图 首先需要下载map的Json数据,我放到这里:mapJson 然后使用ech ...

最新文章

  1. 关于学习数据库的一点总结
  2. News | 经有限数据研究显示瑞德西韦有望治疗冠状病毒患者
  3. “GIS讲堂”第二课内容的公布
  4. 北京,上海 商汤研究院基础视觉组正式员工(校招、社招)实习生长期招聘...
  5. The package lists or status file could not be parsed or opened.
  6. 机器学习之路: python 决策树分类DecisionTreeClassifier 预测泰坦尼克号乘客是否幸存...
  7. linux调度器(三)——周期性调度器与CFS
  8. SpringApplication#run⽅法的第6步,创建ApplicationContext(五)
  9. Ubuntu18.04下隐藏桌面硬盘图标
  10. 全网最全的Java岗集合面试题(含答案)
  11. 你熟悉的新华书店,已经变样了 | 数字化案例
  12. Linux C/C++实现时间戳转换工具
  13. Android如何制作本地音乐播放器,简单实现Android本地音乐播放器
  14. 数据库中违反外键约束的情况
  15. OSG-简单模型控制
  16. 营业收费管理系统,整合多类抄表系统
  17. Python根据字幕文件自动给视频添加字幕(通用版)
  18. Linux ALSA 之九:ALSA ASOC Codec Driver
  19. 小觅相机录制rosbag数据集
  20. 什么工作工资高?怎么找适合自己的高薪工作?

热门文章

  1. RocketMQ关于Broker闪断故障排查【实战笔记】
  2. andriod屏幕圆角实现方法
  3. Android Intent 的ACTION_SEND用法
  4. nvm安装node后npm run dev一直报node不是内部或外部命令
  5. 解决小程序字体加粗在开发工具中起作用,但是发布或者体验确不行
  6. 小福利,Python操作excel的常用方法(1)
  7. python验证码识别爆破_python-i春秋验证码识别
  8. 【Python】列表(一)之一目了然
  9. 华为鸿蒙系统吊打iOS,隐藏福利曝光!鸿蒙系统看视频免广告,流畅性吊打iOS?...
  10. unity图片变成马赛克如何取像素并改变颜色_爬取微信好友头像完成马赛克拼图!千张头像拼成海贼王!...