【echarts区域地图】

背景:我们在制作大屏的时候,经常会使用到echarts制作各种图表,饼图,柱状图,折线图。有时候也会用到地图的交互,使大屏效果看起来更加高级。
在这里插入图片描述
我们要完成上面的效果需要准备什么呢?
首先是需要我们待绘制地图的json。这里我们以成都新都区为例。
在这里插入图片描述
接下来就是开始渲染地图了。
map.view

<div ref="mapContainer" style="width: 100%; height: 100%"></div>
import xinduMap from "@/assets/mapJson/xindu.json";

initMap() {
  const mapContainer = this.$refs.mapContainer;
  const chart = echarts.init(mapContainer);
  // 注册地图
  echarts.registerMap("xinduDistrict", xinduMap);
  // 设置地图选项
  const option = {
    tooltip: {
      trigger: "item", // 提示框触发类型
    },
    itemStyle: {
      areaColor: {
        type: "linear-gradient",
        x: 0,
        y: 1500,
        x2: 1000,
        y2: 0,
        colorStops: [
          {
            offset: 0.5,
            color: "rgba(73, 145, 218,0)", // 0% 处的颜色
          },
          {
            offset: 1,
            color: "rgba(99, 142, 199,1)", // 100% 处的颜色
          },
        ],
        global: false, // 缺省为 false
      },
      emphasis: {
        show: false,
        areaColor: "#389BB7",
      },
      borderColor: "rgba(104, 208, 255, .4)",
      borderWidth: 1,
      shadowColor: "rgba(66, 129, 193, .5)",
      shadowOffsetX: 1,
      shadowOffsetY: 10,
      shadowBlur: 1,
    },
    series: [
      {
        selectedMode: false,
        itemStyle: {
          // 地图区块的样式
          normal: {
            areaColor: "#3E587F", // 地图底色,这里设置为浅灰色
            borderColor: "#9CA7BA", // 边界线颜色
            borderWidth: 1, // 边界线宽度
          },
        },
         emphasis: {
          // focus: "self", //突出选中的区域 其它区域谈化效果
          itemStyle: {
            opacity: 0.5,
            borderColor: "#fff",
            borderWidth: "2",
            areaColor: "#52A6F2",
          },
        },
        name: "新都区地图",
        type: "map",
        map: "xinduDistrict", // 使用注册的地图名称
        roam: false, // 是否开启鼠标缩放和平移漫游
        label: {
          show: true, // 是否显示标签
          color: "#9CA7BA", // 标签颜色
        },
        markPoint: {
          symbol: "circle",
          data: [
            {
              name: "大丰街道",
              coord: [104.053, 30.765],
              value: "地图标点1",
              type: 1,
            },
            {
              name: "新繁镇",
              coord: [104.0, 30.89],
              value: "地图标点2",
              type: 2,
            },
            {
              name: "新都镇",
              coord: [104.174, 30.8],
              value: "地图标点3",
              type: 1,
            },
          ],
        },
      },
    ],
  };
  let _this = this;
  // 使用配置项和数据显示图表
  chart.setOption(option);
  chart.on("click", function (params) {
    if (params.componentType === "markPoint") {
     // 地图标点的点击事件交互
    }
  });
},
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3 和 TypeScript 结合使用 Echarts 区域地图的步骤如下: 1. 安装 Echarts:在项目中安装 Echarts 可以使用 npm 或者 yarn 来安装。打开终端并执行以下命令来安装 Echarts: ```bash npm install echarts --save ``` 2. 引入 Echarts:在需要使用 Echarts 的组件中,通过 import 语句引入 Echarts: ```javascript import echarts from 'echarts'; ``` 3. 创建 Echarts 实例:在组件的 mounted 钩子函数中,创建一个容器并初始化 Echarts 实例。 ```javascript mounted() { let myChart = echarts.init(document.getElementById('chart-container')); // ... } ``` 4. 配置地图数据:使用 echarts.registerMap 方法注册地图数据,然后使用 setOption 方法配置地图的相关属性: ```javascript mounted() { // ... echarts.registerMap('mapName', mapData); // 注册地图数据 myChart.setOption({ series: [{ type: 'map', map: 'mapName', // 使用注册的地图名称 // 可以在这里配置更多的地图相关属性 // ... }] }); } ``` 5. 处理数据:根据实际需求处理要展示在地图上的数据,可以通过 Vue 组件的 props 属性或者从 API 请求等方式获取数据并在 setOption 方法中进行配置。 6. 更新地图:如果要动态更新地图,可以通过调用 setOption 方法传入新的配置项来更新地图: ```javascript updateMapData(newData) { myChart.clear(); // 清除旧的数据 myChart.setOption({ series: [{ data: newData // 使用新的数据更新地图 }] }); } ``` 以上是使用 Vue 3 和 TypeScript 结合使用 Echarts 区域地图的基本步骤。根据实际需求,你可以根据 Echarts 的 API 进一步自定义和优化地图的样式和交互等功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值