vue3 引入echarts离线地图

在这里插入图片描述

taiyuan.json下载地址:这里

<template>
  <div ref="chinaMap" style="height: 700px; width: 100%; background: #fff"> 地图1 </div>
</template>
<script lang="ts" setup>
import * as echarts from 'echarts'
import chinaJSON from './taiyuan.json'
import { onMounted, ref } from 'vue'
const chinaMap = ref()
onMounted(() => {
  drawChina()
})
let regions = [
  {
    name: '山西省',
    itemStyle: {
      areaColor: '#374ba4',
      opacity: 1
    }
  }
]
let scatter = [
  { name: '北京烤鸭', value: [112.5644, 37.8733] },
  { name: '兰州拉面', value: [112.5644, 37.6633] },
  { name: '新疆烤肉', value: [112.0644, 37.8733] },
  { name: '长沙臭豆腐', value: [112.0644, 37.7733] },
  { name: '西安肉夹馍', value: [108.953445, 34.288842, 9] },
  { name: '云南', value: [102.710002, 25.045806, 9] }
]
function drawChina() {
  var myChart = echarts.init(chinaMap.value)
  echarts.registerMap('china', chinaJSON) //注册可用的地图
  var option = {
    geo: {
      map: 'china',
      roam: true, //是否允许缩放,拖拽
      zoom: 30, //初始化大小
      //缩放大小限制
      scaleLimit: {
        min: 1, //最小
        max: 100 //最大
      },
      //设置中心点
      center: [112.5644, 37.8733],
      //省份地图添加背景
      regions: regions,
      itemStyle: {
        areaColor: '#0b122e',
        color: 'red',
        borderColor: '#232652',
        borderWidth: 2
      },
      //高亮状态
      emphasis: {
        itemStyle: {
          areaColor: '#1af9e5',
          color: '#fff'
        }
      }
    },
    //配置属性
    series: {
      type: 'effectScatter',
      coordinateSystem: 'geo',
      data: scatter,
      showEffectOn: 'render',
      rippleEffect: {
        //涟漪特效相关配置
        brushType: 'stroke' //波纹的绘制方式,可选 'stroke' 和 'fill'
      },
      hoverAnimation: true, //是否开启鼠标 hover 的提示动画效果
      label: {
        //图形上的文本标签,可用于说明图形的一些数据信息,比如值,名称等,
        normal: {
          formatter: '{b}',
          position: 'right',
          show: true
        }
      },
      itemStyle: {
        //图形样式,normal 是图形在默认状态下的样式;emphasis 是图形在高亮状态下的样式,比如在鼠标悬浮或者图例联动高亮时
        normal: {
          color: '#ffffff', //散点的颜色
          shadowBlur: 10,
          shadowColor: 20,
          fontSize: '12px'
        }
      },
      zlevel: 1
    }
  }
  myChart.setOption(option)
}
</script>

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值