自学内容网 自学内容网

【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") {
     // 地图标点的点击事件交互
    }
  });
},

原文地址:https://blog.csdn.net/weixin_45101949/article/details/140603026

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!