vue中echarts引入中国地图的案例

如下所示:

<div id="myChartChina" :style="{width: '100%', height: '500px'}"></div>

 mounted() {
    this.drawLine();
  },
 drawLine(){
    // 基于准备好的dom,初始化echarts实例
    var myChartContainer = document.getElementById('myChartChina');
    var resizeMyChartContainer = function(){
     myChartContainer.style.width=(document.body.offsetWidth/2)+'px'//页面一半的大小
    }
     resizeMyChartContainer();
    var myChartChina = this.$echarts.init(myChartContainer); 

    function randomData() {
        return Math.round(Math.random()*500);
      }
    // 绘制图表
    var optionMap = {
       tooltip: {},
         legend: {
              orient: 'vertical',
              left: 'left',
              data:['']
            },
         visualMap: {
              min: 0,
              max: 1500,
              left: '10%',
              top: 'bottom',
              text: ['高','低'],
              calculable : true,
              color:['#0b50b9','#c3e2f4']
            },
         selectedMode: 'single',
         series : [
              {
               name: '',
               type: 'map',
               mapType: 'china',
               itemStyle: {
                  normal:{
                    borderColor: 'rgba(0, 0, 0, 0.2)'
                  },
                  emphasis:{
                    shadowOffsetX: 0,
                    shadowOffsetY: 0,
                    shadowBlur: 20,
                    borderWidth: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                  }
                },
                showLegendSymbol: true,
                label: {
                  normal: {
                    show: true
                  },
                  emphasis: {
                    show: true
                  }
                },
                data:[
                   {name: '北京',value: randomData() },
                   {name: '天津',value: randomData() },
                   {name: '上海',value: randomData() },
                   {name: '重庆',value: randomData() },
                   {name: '河北',value: randomData() },
                   {name: '河南',value: randomData() },
                   {name: '云南',value: randomData() },
                   {name: '辽宁',value: randomData() },
                   {name: '黑龙江',value: randomData() },
                   {name: '湖南',value: randomData() },
                   {name: '安徽',value: randomData() },
                   {name: '山东',value: randomData() },
                   {name: '新疆',value: randomData() },
                   {name: '江苏',value: randomData() },
                   {name: '浙江',value: randomData() },
                   {name: '江西',value: randomData() },
                   {name: '湖北',value: randomData() },
                   {name: '广西',value: randomData() },
                   {name: '甘肃',value: randomData() },
                   {name: '山西',value: randomData() },
                   {name: '内蒙古',value: randomData() },
                   {name: '陕西',value: randomData() },
                   {name: '吉林',value: randomData() },
                   {name: '福建',value: randomData() },
                   {name: '贵州',value: randomData() },
                   {name: '广东',value: randomData() },
                   {name: '青海',value: randomData() },
                   {name: '西藏',value: randomData() },
                   {name: '四川',value: randomData() },
                   {name: '宁夏',value: randomData() },
                   {name: '海南',value: randomData() },
                   {name: '台湾',value: randomData() },
                   {name: '香港',value: randomData() },
                   {name: '澳门',value: randomData() }
                ]
              }
            ]
        }

    myChartChina.setOption(optionMap);
    window.onresize=function(){
      resizeMyChartContainer();
      myChartChina.resize();
    }
   }

主要注意的一点在main.js里面:

除了引入echarts之外

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

// 还要特别引入china.json,这样中国地图才会出现,不然只会出现右下角的南海诸岛
import china from 'echarts/map/json/china.json'
echarts.registerMap('china', china)

补充知识:VUE中给template组件加背景

我就废话不多说了,大家还是直接看代码吧~

<template>
 <div class="index_background" >
 </div>
</template>
<style>
.index_background{ background: url('~@/../static/images/login-bg.png') center top no-repeat;}
</style>

以上这篇vue中echarts引入中国地图的案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • vue调用高德地图实例代码

    一. vue-amap,一个基于 Vue 2.x 和高德地图的地图组件 https://elemefe.github.io/vue-amap/#/ 这个就不细说了,按照其文档,就能够安装下来. 二. 按照官方提供的方法引入 1.修改webpac.base.conf.js文件 externals: { 'AMap': 'AMap' } 2.引入sdk 引入有两种方式,一种是页面直接引入 复制代码 代码如下: <script type="text/javascript" src=&q

  • vue 使用高德地图vue-amap组件过程解析

    这篇文章主要介绍了vue 使用高德地图vue-amap组件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 首先 npm install -S vue-amap 然后在 main.js import VueAMap from 'vue-amap'; //注意不要和 AMap原始名称覆盖 Vue.use(VueAMap); // 初始化vue-amap VueAMap.initAMapApiLoader({ // 高德的key key: '

  • Vue Echarts实现可视化世界地图代码实例

    Echarts实现可视化世界地图模拟迁徙,以我自己开发过程. 下载Echarts依赖: npm install echarts 成功以后引入依赖: import echarts from 'echarts' peopleInsertCharts为生成echarts容器. let myChart = echarts.init(document.getElementById('peopleInsertCharts')) 容器一定要给宽高,否则echarts生成初始化页面不会显示.需要自适应的可以js

  • 使用vue引入maptalks地图及聚合效果的实现

    1.安装maptalks.js npm install maptalks --save 2.安装聚合mapkercluster npm install maptalks.markercluster 3.vue页面引入 import * as maptalks from 'maptalks' import {ClusterLayer} from 'maptalks.markercluster' 4.初始化地图并添加聚合 mounted() { let that = this //--0--//地图

  • vue中echarts引入中国地图的案例

    如下所示: <div id="myChartChina" :style="{width: '100%', height: '500px'}"></div> mounted() { this.drawLine(); }, drawLine(){ // 基于准备好的dom,初始化echarts实例 var myChartContainer = document.getElementById('myChartChina'); var resizeM

  • vue 使用 echarts 绘制中国地图的实现代码

    1. 插入echarts 所需模块 import echarts from "echarts"; import 'echarts/map/js/china' // 使用中国地图需把China.js文件引入 2. 正式代码部分 //初始化echarts实例 通过传参获取要放置的id名称 var myChart = echarts.init(document.getElementById("容器的id名称")); // 指定图表的配置项和数据 var optionMap

  • vue使用echarts实现中国地图和点击省份进行查看功能

    目录 1,实现的效果和功能 2,安装ECharts 1.1 地图数据的位置 1.2 还可以自己下载这些地图数据 3,main.js里面引入echarts 4,实现如下 5,遇到的问题 5.1 渲染中国地图时警告地图不存在: 5,2 点击tooltip提示框中的详情 生产省份地图失败,警告如下: 6,用到的模拟数据 1,实现的效果和功能 vue使用echarts实现中国地图和点击省份进行查看:下面是效果图:主要实现的功能如下:1,第一张是实现中国地图,点击任意省份能够显示tooltip提示框 :2

  • Vue+ECharts实现中国地图的绘制及各省份自动轮播高亮显示

    目录 实现效果 完整代码+详细注释 要点小结 实现效果 完整代码+详细注释 <template> <div class="echart"> <div class="content"> <div id="map_cn"></div> </div> </div> </template> <script> import echarts from

  • vue中echarts图表大小适应窗口大小且不需要刷新案例

    我就废话不多说了,大家还是直接看代码吧~ 内容如下: // 基于准备好的dom,初始化echarts实例 let myChart = this.$echarts.init(document.getElementById('myChart')) //根据窗口的大小变动图表 --- 重点 window.onresize = function(){ myChart.resize(); //myChart1.resize(); //若有多个图表变动,可多写 } 代码如下: mounted() { con

  • vue+echarts实现中国地图流动效果(步骤详解)

    @vue+echarts实现中国地图流动效果 #话不多说看效果图 操作步骤: 执行命令:npm run echarts -s 并回车 看到这样的提示代表安装成功 PS:网络不好的情况建议用cnpm淘宝镜像(全局终端执行命令:npm i -g cnpm --registry=https://registry.npm.taobao.org) 下载china.js 链接: https://pan.baidu.com/s/1EODVh9tJNEbFebbrhKyd_Q 提取码: gjz4 引入 impo

  • 在vue中使用Base64转码的案例

    在vue项目中有时会使用到Base6464转码,现将自己使用的一种方法记录,以供参考 1:安装依赖 npm install --save js-base64 2:在main.js中引入 const Base64 = require('js-base64').Base64 new Vue({ el: '#app', Base64 }) 3:在需要转码的文件中使用 const Base64 = require('js-base64').Base64 const exStr = Base64.enco

  • vue中echarts的用法及与elementui-select的协同绑定操作

    1.vue中echarts的使用 引入echarts后 let myChart = echarts.init(document.getElementById('dsm'));//dsm为绑定的dom结构 var option = { //backgroundColor:"#111c4e", tooltip: { trigger: 'axis' }, legend: { //图表上方的图例显隐 data:['光合有效辐射'], textStyle: { color: '#fff' } }

  • VUE中setTimeout和setInterval自动销毁案例

    在Vue的大型单页应用中,在某个路由下,经常会出现需要延迟执行(setTimeout)或者间隔之心(setInterval)的函数,但是每次在页面destroy之前,都必须手动清理掉. 正常代码如下: beforeDestroy() { this._timer && clearTimeout(this._timer); } 但是如果一不小心,就会忘记,会造成意想不到的情况,那么有什么办法能避免这种情况吗? 当然有,那就是重新写一个setTimeout的方法(或者干脆劫持window.set

  • 关于Vue 3.0引入百度地图不兼容的解决办法

    目录 关于Vue 3.0引入百度地图 不兼容的解决办法 1. 问题:Vue 3.0引入百度地图 不兼容 2. 解决办法 3.vue页面 引入并执行 4.完成, 地图如下 关于Vue 3.0引入百度地图 不兼容的解决办法 1. 问题:Vue 3.0引入百度地图 不兼容 百度地图开发平台文档 封装的vue版本暂时还没有 到 vue 3.0 如果 用npm 引入并使用的话,会出现报错 at eval (bindEvent.js?4fab:8) at Array.forEach (<anonymous>

随机推荐