vue2+echarts

发布于:2022-11-03 ⋅ 阅读:(503) ⋅ 点赞:(0)

                        html代码

 

                 script

这里引入了俩个接口

接口格式

 

 

 接口格式

 主要用到了这个weihai.json

r打印结果

 r.data.geoJson获取放到文件夹里面

 

打开之后就是坐标地区什么的

打印data数据就是weihai.json数据

 

 

 

 

完整代码

<template>

  <div>

    <div class="linkageMechanismManagement_box">

                   

        <div class="map_bg" ref="echartsMap"></div>

      </div>

    </div>

  </div>

</template>

<script>

import * as echarts from "echarts";

import countTo from "vue-count-to";

import {

  treeselect,

} from "@/api/dataScreen/linkageMechanismManagement_wz";

import { getDept } from "@/api/system/dept";

export default {

  name: "linkageMechanismManagement",

  components: {},

  data() {

    return {

      itemList: [],

      open: false,

      deptId: 100,

      deptArr: [],

    };

  },

  mounted() {

    this.echartsMap();

   

  },

  methods: {

    echartsMap() {

      let _this = this;

      let params = {

        parentId: "100",

      };

        //环翠区 临港区

      treeselect().then((response) => {

        // console.log(params);

     

              console.log(response);

        response.data.map((res) => {

       

          _this.deptArr.push({

            name: res.label,

            id: res.id,

          });

              console.log(_this.deptArr);

        });

        getDept("100").then((r) => {

          // r里面有geoJson数据

          console.log(r);

          if (r.data.geoJson != null && r.data.geoJson != "") {

              // 初始化地图

            var directlyEcharts = echarts.init(this.$refs.echartsMap);

              //引入地图weihai.json 到 assets/maps路径

              //  data  环翠区 荣成市 乳山市  文登区

            require(["@/assets/maps/" + r.data.geoJson], function (data) {

                console.log(data);

            // echarts.registerMap('地图名(如:jiangsu)', geoJson, {})

              echarts.registerMap("city", data);

                // data就是加载json威海里面的数据

              // console.log(data);

              let options = {

                // `series`。 系列列表。每个系列通过 `type` 决定自己的图表类型

                series: [

                  {

                    name: "廉政风险",

                      //类型固定格式

                    type: "map",

                      //地图名字

                    map: "city",

                   

                    label: {

                      // show: true,

                    },

                    // 放大缩小

                    roam: true, //true

                    // 放大缩小的比例

                    zoom: 1,

             

                    itemStyle: {

                      normal: {

                        label: {

                          //字体显示

                          show: true,

                          //字体大小颜色

                          textStyle: {

                            color: "#fff",

                            rich: {

                              ys: {

                                align: "center",

                                fontSize: 32,

                                fontFamily: "DSDIGI",

                              },

                              tit: {

                                padding: 6,

                                fontSize: 16,

                              },

                            },

                          },

                        },

                        areaColor: "rgba(14,157,229,.2)", //地图背景颜色

                        borderColor: "#8ee0d1",

                        borderWidth: 1,

                        shadowColor: "rgba(0,0,0,.2)",

                        shadowOffsetX: 0,

                        shadowOffsetY: 0,

                        shadowBlur: 8,

                      },

                      emphasis: {

                        label: {

                          show: true,

                        },

                        areaColor: "#ffd853", //hover颜色

                      },

                    },

                  },

                ],

              };

              directlyEcharts.setOption(options);

              directlyEcharts.on("click", function (params) {

                if (_this.deptId == params.data.id) {

                  _this.deptId = 100;

                } else {

                  _this.deptId = params.data.id;

                }

              });

            });

            return directlyEcharts;

          } else {

          }

        });

      });

    },

  },

};

</script>

<style scoped lang="scss">

.linkageMechanismManagement_box {

  .map_bg {

    width: 100vw;

    height: 100vh;

    background-size: 100% 100%;

    position: absolute;

    z-index: 2;

  }

}

</style>

 

 

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到