首页 > 其他分享 >Vue3 + Echarts 实现中国地图

Vue3 + Echarts 实现中国地图

时间:2024-09-14 15:21:33浏览次数:10  
标签:ref 地图 myChart Echarts Vue3 import 数据 echarts

基本概念

        echarts是一个基于JavaScript的开源可视化库,用于创建和展示各种交互式图表和图形。它可以用于数据分析、数据可视化、数据探索和数据报告等方面。我们一般使用echarts来实现数据可视化,本文我们使用vue3 + echars来实现中国地图。

准备echarts基本结构

首先我们先搭建echarts的基本结构

<script setup lang="ts">
import * as echarts from 'echarts'
import { ref, onMounted } from 'vue'

let myEcharts = ref()

onMounted(() => {
  let myChart = echarts.init(myEcharts.value)

  const option = {
    title: {
      text: '中国地图展示',
      x: 'center'
    },
  }

  myChart.setOption(option)
})
</script>

<template>
  <div id="app" ref="myEcharts"></div>
</template>

<style lang="scss" scoped>
#app {
  width: 500px;
  height: 500px;
}
</style>

设置中国地图的矢量数据创建js文件

地图数据下载地址:https://datav.aliyun.com/portal/school/atlas/area_selector

首先我们要去复制一下地图数据,进入网址,根据所需的地图数据进行选择

对其的json文件地址进行访问并复制。

在项目中创建Js文件,定义变量并暴露出去


在组件中获取地图矢量数据,并创建地图

引入地图数据注册,并对地图进行相关设置

<script setup lang="ts">
import * as echarts from 'echarts'
import { chinaMapData } from './assets/MapData' // 引入中国地图数据
import { ref, onMounted } from 'vue'

let myEcharts = ref()

onMounted(() => {
  let myChart = echarts.init(myEcharts.value)
  echarts.registerMap('chinaMap', chinaMapData) // 使用 registerMap 注册的地图名称。

  const option = {
    title: {
      text: '中国地图展示',
      x: 'center'
    },

    geo: { //地理坐标系组件。地理坐标系组件用于地图的绘制
      type: 'map',
      map: 'chinaMap', //注册时的地图名称
      roam: true, //是否开启鼠标缩放和平移 默认不开启
      zoom: 1, //当前视角的缩放比例
      center: [108.956239, 34.268209], //当前视角的中心点 用经纬度表示
      label: {
        // 地图上显示的文字提示
        show: false,
        fontSize: 12,
        fontWeight: 'bold'
      },
      itemStyle: {
        //地图区域的多边形 图形样式
        areaColor: '#ff6600'
      }
    },
  }

  myChart.setOption(option)
})
</script>

<template>
  <div id="app" ref="myEcharts"></div>
</template>

<style lang="scss" scoped>
#app {
  width: 500px;
  height: 500px;
}
</style>

效果展示

标签:ref,地图,myChart,Echarts,Vue3,import,数据,echarts
From: https://blog.csdn.net/Lil_y1/article/details/142259168

相关文章

  • ArcGIS Pro SDK (十四)地图探索 2 地图图层
    ArcGISProSDK(十四)地图探索2地图图层文章目录ArcGISProSDK(十四)地图探索2地图图层1地图1.1获取活动地图的名称1.2清除活动地图中的所有选择1.3以地图单位计算选择容差1.4地图视图叠加控制2图层2.1选择目录中的所有要素图层2.2闪烁所选......
  • vue3 登录页视频背景 开发
    方法比较笨,可以参考,思路如下:    我把这个页面看成三层。最里面是视频,中间挂个蒙板,然后最上层放内容,这样简单粗暴的达到效果 然后来说说中间这个蒙板吧,主要是两个想法,      一个就是客户,领导们的想法比较多,如果仅仅只是说有个视频虚化啥的,有可能并不能完全解......
  • 程序员的 AI 启蒙:ChatGPT+ Copilot开发Vue3 仿简书项目 90%代码AI生成
    在人工智能技术日益成熟的今天,程序员们正在迎来一场全新的编程革命。ChatGPT和Copilot等AI工具的出现,让代码生成不再是遥不可及的梦想。本文将带你体验如何利用这些先进技术,仅用90%的代码量,开发出一个基于Vue3的仿简书项目,感受AI在编程领域的革新力量。一、引言ChatGPT和C......
  • vue3/provider 和 inject实现跨组件动态数据传递。
    实现跨层传递在Vue中,provider和inject是一种用于实现依赖注入的高级特性,允许一个祖先组件向其所有子孙组件注入一个依赖,而不论组件层次有多深,并在起上下游关系成立的时间里始终生效。这在某些场景下非常有用,比如当你需要跨多个组件层级传递数据时。定义provide对象:在父组......
  • vue3API /watch
    1.watch侦听在Vue3中,watch是一个用于观察和响应Vue实例上的数据变动的函数。它可以用来观察几乎所有类型的数据,包括ref、reactive、响应式对象的属性,甚至是计算属性。当被观察的数据变化时,watch会触发一个回调函数。<scriptsetup>import{ref,watch}from'vue......
  • 基于Uni-app前端框架的SUMER UI3.0组件库!一端开发,多端运行!本组件库可快速二次开发各种
    基于Uni-app前端框架的SUMERUI3.0组件库!一端开发,多端运行!本组件库可快速二次开发各种类别各行业模板,包括:商城、视频、直播、聊天、支付、新闻、社区、地图、导航、出行、社区、博客等sumer-ui介绍基于uView微信小程序UI组件库,兼容vue3。本插件是SUMER组件库,只提供组件......
  • 从零开始一步一步搭建 Vue3 + Webpack5 项目脚手架指南
    **......
  • 尤雨溪推荐的拖拽插件,支持Vue2/Vue3 VueDraggablePlus
    大家好,我是「前端实验室」爱分享的了不起~今天在网上看到尤雨溪推荐的这款拖拽组件,试了一下非常不错,这里推荐给大家。说到拖拽工具库,非大名鼎鼎的的Sortablejs莫属。它是前端领域比较知名的,且功能强大的工具。但我们直接使用Sortablejs的情况很少,一般都是使用基于它的......
  • vue3 tsx中使用hook
    代码使用方组件import{defineComponent,PropType,h,computed,ref,watch}from'vue';importuseMyHooksfrom'./hooks/useMyHooks';exportdefaultdefineComponent({setup(props,{slots}){const{count,increment,decrem......
  • vue3 el-message组件封装
    背景在封装请求拦截器时,使用ElMessage进行弹窗提示成功或失败,但是如果页面用到多个接口,这时就会导致页面出现很多弹窗,导致用户体验不好,有可能出现卡顿现象。这时就需要进行一些判断,如果前面的ElMessage还没关闭并且类型是一致的就return,不再弹窗提示,类型不一致时就要弹窗提示......