vue中 基于echart地图功能 省级地图下钻和返回、发射线、水波涟漪等功能展示

效果图展示-包含水波涟漪、发射线功能效果图
在这里插入图片描述
点击地市、区县下钻功能
在这里插入图片描述
在这里插入图片描述

vue项目中main.js

在这里插入图片描述

import echarts from 'echarts'
import anhui from '../static/commonJs/anHui.json'
window.anhuiData = anhui
echarts.registerMap('anhui',anhui)
Vue.prototype.$echarts = echarts;

页面代码

<template>
  <div class="orioc-chart-wraper">
     <div class="chart" :id="id" ref="chartEle"></div>
     <div class="fanhui" @click="returnMenu" v-if="mapLevel === 2">
          返回至省级地图
     </div>
    <div class="fanhui" @click="returnMenu" v-if="mapLevel === 3">
      返回至市级地图
    </div>
  </div>
</template>

在这里插入图片描述

<script>
  import eventBus from '@/components/event/event-bus'
  import cityMapData from './anhuiMap'
export default {
  name: 'index',
  props: {
      LableData: Array
  },
  data() {
      return {
        mapJson: cityMapData.mapJson, // 获取市、区县数据
        id: 'anhiMap',
        option: null,
        echartsObj: null,
        beginMap: 'anhui',
        defaultmapName: '安徽省', // 默认地图名
        mapLevel: 1, // 地图所在层级水平 1为省级 2为市级 3为区县级

        oldName: '', // 变更地图之前地图名
        oldSeriesName: '安徽省', // 变更地图之前地图名

        nowName: '', // 当前城市名
        nowEName: '', // 当前城市名-拼音
        nowCityJson: '', // 当前城市json
        nowSeriesName: '安徽省', // 当前地图名

        colors: [
          '#41E0E9',
          '#1259E5',
          '#FF6C70',
          '#FF2482',
          '#FFA506',
          '#FD8308'
        ],
        geoCoordMap: [],
        centerPoint: {
          name: '', // 合肥
          value: [117.383042, 31.66119]
        }
      }
    },
  mounted() {
      var that = this
      this.geoCoordMap = [
        {
          name: '淮南市',
          value: [116.77, 32.286],
          status: 1
        },
        {
          name: '安庆市',
          value: [116.47, 30.626],
          status: 2
        },
        {
          name: '池州市',
          value: [117.47, 30.486],
          status: 3
        },
        {
          name: '六安市',
          value: [116.51, 31.73],
          status: 3
        },
        {
          name: '蚌埠市',
          value: [117.18, 32.99],
          status: 3
        },
        {
          name: '宣城市',
          value: [118.75, 30.93],
          status: 3
        },
        {
          name: '宿州市',
          value: [117.52, 33.71],
          status: 3
        }
      ]
      this.$nextTick(() => {
        that.echartsObj = that.$echarts.init(document.getElementById(that.id))
        that.setOption(that.beginMap, that.defaultmapName)
  })
      eventBus.$on('onResize', target => {
        that.echartsObj && that.echartsObj.resize()
  })
  },
  methods: {
      setOption(nowMapData, mapName) {
        const that = this
        this.option = {
          title: {
            text: ''
          },
          geo: {
          // 如果在vue里effectScatter没生效,一定要看一下有没有引入geo插件
            map: nowMapData,
            aspectScale: 1.2, // 长宽比
            zoom: 1.1,
            roam: false, // 是否开启鼠标缩放和平移漫游。默认不开启
            show: true, // 是否展示立体感地图,默认展示
            itemStyle: {
              normal: {
                shadowColor: '#013370',
                shadowOffsetX: 0,
                shadowOffsetY: 25
              },
              emphasis: {
                areaColor: '#00E2ED',
                borderWidth: 0
              }
            }
          },
          series: that.setSeries(nowMapData, mapName)

        }
        this.echartsObj.off('click') // 防止echarts点击事件多次执行问题!
        this.echart
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值