vue中echarts@4.9版本,地图的使用方式

 更新时间:2024年02月29日 08:52:21   作者:广州第22号吴彦祖  
这篇文章主要介绍了vue中echarts@4.9版本地图的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue echarts@4.9版本地图的使用

避免进坑,亲测4.9版本正常,5.0版本不支持因为官方移除了地图数据和map文件夹,

安装echarts

npm install echarts@4.9.0

在main.js写入

import echarts from 'echarts'
import 'echarts/map/js/china' 
Vue.prototype.$echarts = echarts

map地图组件

<template>
    <div class="chinaecharts">
        <div id="mapChart" ref="mapChart" ></div>
    </div>
</template>
<script>
export default {
    name: 'ChinaEcharts',
    methods: {
        mapFn(){
            // 基于准备好的dom,初始化echarts实例
            // var mapChart = this.$echarts.init(this.$refs.mapChart);
            var mapChart = this.$echarts.init(document.getElementById('mapChart'));
            mapChart.setOption({
                backgroundColor: '', //背景颜色
                title: {
                    text: '你好啊中国',
                    subtext: '我来自中国',
                    color: '#fff',
                    fontSize:'14px',
                    // sublink: 'http://www.pm25.in',
                    x:'left',
                },
                //是视觉映射组件,用于进行『视觉编码』,也就是将数据映射到视觉元素(视觉通道)。
                visualMap: {
                    orient: 'horizontal', 
                    text:['低','高'],
                    min: 0, //最小值
                    max: 600, //最大值
                    calculable: false, //是否显示拖拽用的手柄(手柄能拖拽调整选中范围)。
                    inRange: {
                        color: ['#0F9D90', '#39B1A6', '#95DCD7', '#AEE7E4', '#D7FBFA'] //颜色
                    },
                    textStyle: {
                        color: '#000'
                    },
                },
                // 提示框,鼠标移入
                tooltip:{
                    show:true, //鼠标移入是否触发数据
                    trigger: 'item', //出发方式
                    formatter:'{b}-销售数量:{c}'
                },
                //配置地图的数据,并且显示
                series:[
                    {
                        name:'地图',
                        type: 'map',  //地图种类
                        map: 'china', //地图类型。
                        data:[
                            {name: '北京',value: Math.round(Math.random()*500)},
                            {name: '天津',value: Math.round(Math.random()*500)},
                            {name: '上海',value: Math.round(Math.random()*500)},
                            {name: '重庆',value: Math.round(Math.random()*500)},
                            {name: '河北',value: Math.round(Math.random()*500)},
                            {name: '河南',value: Math.round(Math.random()*500)},
                            {name: '云南',value: Math.round(Math.random()*500)},
                            {name: '辽宁',value: Math.round(Math.random()*500)},
                            {name: '黑龙江',value: Math.round(Math.random()*500)},
                            {name: '湖南',value: Math.round(Math.random()*500)},
                            {name: '安徽',value: Math.round(Math.random()*500)},
                            {name: '山东',value: Math.round(Math.random()*500)},
                            {name: '新疆',value: Math.round(Math.random()*500)},
                            {name: '江苏',value: Math.round(Math.random()*500)},
                            {name: '浙江',value: Math.round(Math.random()*500)},
                            {name: '江西',value: Math.round(Math.random()*500)},
                            {name: '湖北',value: Math.round(Math.random()*500)},
                            {name: '广西',value: Math.round(Math.random()*500)},
                            {name: '甘肃',value: Math.round(Math.random()*500)},
                            {name: '山西',value: Math.round(Math.random()*500)},
                            {name: '内蒙古',value: Math.round(Math.random()*500)},
                            {name: '陕西',value: Math.round(Math.random()*500)},
                            {name: '吉林',value: Math.round(Math.random()*500)},
                            {name: '福建',value: Math.round(Math.random()*500)},
                            {name: '贵州',value: Math.round(Math.random()*500)},
                            {name: '广东',value: Math.round(Math.random()*500)},
                            {name: '青海',value: Math.round(Math.random()*500)},
                            {name: '西藏',value: Math.round(Math.random()*500)},
                            {name: '四川',value: Math.round(Math.random()*500)},
                            {name: '宁夏',value: Math.round(Math.random()*500)},
                            {name: '海南',value: Math.round(Math.random()*500)},
                            {name: '台湾',value: Math.round(Math.random()*500)},
                            {name: '香港',value: Math.round(Math.random()*500)},
                            {name: '澳门',value: Math.round(Math.random()*500)},
                            {name: '南海诸岛',value: Math.round(Math.random()*500)}
                        ],
                        itemStyle: { //地图区域的多边形 图形样式。
                            emphasis:{ //高亮状态下的样试
                                label:{
                                    show:true,
                                }
                            }
                        },
                        zoom:1,//放大比例
                        label: {  //图形上的文本标签,可用于说明图形的一些数据信息
                            show:true,
                        },
                    },
                    {
                        type:'scatter',
                        showEffectOn: 'render',//配置什么时候显示特效
                        coordinateSystem:'geo',//该系列使用的坐标系
                        symbolSize:10,//标记的大小
                        data:[
                            {name: '宜昌', value: [111.3,30.7,130]},
                        ],
                        zlevel:99999
                    },
                ],
            }),
            window.addEventListener('resize', () => {
                // 自动渲染echarts
                mapChart.resize();
            })
        }
    },
    mounted () {
        this.mapFn();
    }
}
</script>
<style scoped>
.chinaecharts {
    width: 100%;
    height: 100%;
}
#mapChart {
    width: 100%;
    height: 100%;
}
</style>

然后按组件引入即可使用 效果如下

echarts配置:(https://echarts.apache.org/zh/api.html#echarts)

echarts地图不显示图例

如果你的 echarts 地图不显示图例

可能是以下几个原因导致的

  • 没有启用图例。在配置项中,可以使用 legend.show 属性来控制是否显示图例。如果将其设置为 false,则不会显示图例。
  • 图例被遮盖。如果图例位置与其他图形重叠,则可能会被遮盖,导致看不到图例。
  • 图例样式设置不当。在配置项中,你可以使用 legend.textStyle 属性来设置图例文字的样式,包括颜色、大小、字体等。如果设置不当,图例可能看不清。
  • 数据不正确。如果你的数据中没有包含图例所需的信息,或者数据格式不正确,则可能导致图例不显示。

建议检查以上几点,找出导致图

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • VueJs监听window.resize方法示例

    VueJs监听window.resize方法示例

    本篇文章主要介绍了VueJs监听window.resize方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • vue项目中的组件传值方式

    vue项目中的组件传值方式

    这篇文章主要介绍了vue项目中的组件传值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Vue Element前端应用开发之界面语言国际化

    Vue Element前端应用开发之界面语言国际化

    我们开发的系统,一般可以不用考虑语言国际化的问题,大多数系统一般是给本国人使用的,而且直接使用中文开发界面会更加迅速 一些,不过框架最好能够支持国际化的处理,以便在需要的时候,可以花点时间来实现多语言切换的处理,使系统具有更广泛的受众用户。
    2021-05-05
  • Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)

    Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)

    最近小编接到这样的需求:弹出框(或Popover)在 show 后,点击空白处可以将其 hide。针对这个需求,小编整理了三种实现方式,如果大家对vue 点击空白隐藏节点问题感兴趣的朋友跟随小编一起看看吧
    2019-10-10
  • Vue 父子组件的数据传递、修改和更新方法

    Vue 父子组件的数据传递、修改和更新方法

    下面小编就为大家分享一篇Vue 父子组件的数据传递、修改和更新方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • vue3组件库Shake抖动组件搭建过程详解

    vue3组件库Shake抖动组件搭建过程详解

    这篇文章主要为大家介绍了vue3组件库Shake抖动组件搭建过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Vue3实现简约型侧边栏的示例代码

    Vue3实现简约型侧边栏的示例代码

    本文主要介绍了Vue3实现简约型侧边栏的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Vue中 Runtime + Compiler 和 Runtime-only 两种模式含义和区别详解

    Vue中 Runtime + Compiler 和 Runtime-o

    这篇文章主要介绍了Vue中 Runtime + Compiler 和 Runtime-only 两种模式含义和区别,结合实例形式详细分析了Vue中 Runtime + Compiler 和 Runtime-only 两种模式基本功能、原理、区别与相关注意事项,需要的朋友可以参考下
    2023-06-06
  • vue+three.js实现炫酷的3D登陆页面示例详解

    vue+three.js实现炫酷的3D登陆页面示例详解

    这篇文章主要为大家介绍了vue+three.js实现炫酷的3D登陆页面示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 解决IOS端微信H5页面软键盘弹起后页面下方留白的问题

    解决IOS端微信H5页面软键盘弹起后页面下方留白的问题

    微信H5项目,ios端出现了软键盘输完隐藏后页面不会回弹,下方会有一大块留白。这篇文章主要介绍了决微信H5页面软键盘弹起后页面下方留白的问题(iOS端) ,需要的朋友可以参考下
    2019-06-06

最新评论