在Vue中使用echarts地图(中国)

按照echarts的示例,复制option但是无法出现地图,觉得应该是少了什么文件,就随手百度了一下,看到比较多的方法就是引用如下两个文件再引用全局变量balabala:

<script src="https://cdn.bootcss.com/echarts/4.1.0/echarts.min.js"></script>

<script src="http://gallery.echartsjs.com/dep/echarts/map/js/china.js"></script>

用这种方式实现了一遍并不适合我,前提是我npm安装了echarts,不需要这种导入的方式,解决方法如下:

1.引入地图文件:

import echarts from 'echarts'
import 'echarts/map/js/china'

2.按照使用普通表格的方式使用地图

//html
<div ref="MapMountNode" class="charts chart-bar map-mount-node"></div>

//js
methods: {
    resize () {
      this.MapMountNode.resize()
    }
  },
  mounted () {
    this.$nextTick(() => {
      // 数据纯属虚构
      var data = [{
        name: '北京',
        value: 5.3
      },
      {
        name: '天津',
        value: 3.8
      },
      {
        name: '上海',
        value: 4.6
      },
      {
        name: '重庆',
        value: 3.6
      },
      {
        name: '河北',
        value: 3.4
      },
      {
        name: '河南',
        value: 3.2
      },
      {
        name: '云南',
        value: 1.6
      },
      {
        name: '辽宁',
        value: 4.3
      },
      {
        name: '黑龙江',
        value: 4.1
### 如何在 Vue使用 ECharts 地图组件 #### 初始化项目并安装依赖 为了在 Vue 项目中集成 ECharts 地图组件,首先需要确保已经安装了 `vue` 和 `echarts` 的 npm 包。可以通过以下命令安装必要的库: ```bash npm install echarts vue ``` #### 修改 main.js 文件挂载全局变量 为了让整个应用都能访问到 ECharts 实例,在项目的入口文件 `main.js` 中添加如下代码以挂载 EChartsVue 原型上[^1]: ```javascript import Vue from 'vue'; import * as echarts from 'echarts'; Vue.prototype.$echarts = echarts; new Vue({ render: h => h(App), }).$mount('#app'); ``` #### 创建包含地图Vue 组件 接下来定义一个新的 Vue 组件用于展示地图数据。在这个例子中会创建名为 `MapComponent.vue` 的单文件组件。 ##### MapComponent.vue 结构概览 该组件主要由模板部分、脚本逻辑以及样式构成。下面展示了完整的实现方式: ```html <template> <div ref="chartContainer" style="width: 600px; height: 400px;"></div> </template> <script> export default { name: "MapComponent", data() { return { chart: null, }; }, mounted() { this.initChart(); }, beforeDestroy() { if (this.chart) { this.chart.dispose(); // 销毁实例释放资源 } }, methods: { initChart() { const container = this.$refs.chartContainer; this.chart = this.$echarts.init(container); let option = { title: { text: '中国地图示例' }, tooltip: {}, toolbox: { feature: { saveAsImage: {} } }, series: [ { type: 'map', mapType: 'china', // 设置中国地图 roam: true, // 是否开启鼠标缩放和平移漫游 label: { show: true }, itemStyle: { borderColor: '#fff' }, emphasis: { label: { color: '#fff' }, itemStyle: { areaColor: '#f9c784', shadowOffsetX: 0, shadowOffsetY: 0, shadowBlur: 20, borderWidth: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } } ] }; this.chart.setOption(option); } } }; </script> <style scoped> /* 自定义样式 */ </style> ``` 上述代码实现了基本的地图显示功能,并设置了简单的交互效果如点击放大缩小等操作[^3]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值