echarts 地图

该代码示例展示了如何在Vue项目中利用ECharts库和阿里云提供的地区json数据,创建一个展示江苏省各城市地理位置的地图。通过注册地图并设置系列数据,实现了地图上的散点效果,每个城市都有对应的坐标值和视觉表示。
摘要由CSDN通过智能技术生成
  • http://datav.aliyun.com/portal/school/atlas/area_selector (阿里云,地区json数据获取)
<template>
  <div class="map">
    江苏地图
    <div class="mapbox" id="mapbox"></div>
    <div class="scatter" id="scatter"></div>
  </div>
</template>

<script>
import geoJson from "@/assets/json/jiangsu.json";
import * as echarts from "echarts";
export default {
  mounted() {
    this.$nextTick(() => {
      this.initChart();
    });
  },
  data() {
    return {
      myData: [
        {
          name: "南京市",
          value: [118.767413, 32.041544],
        },
        {
          name: "无锡市",
          value: [120.301663, 31.574729],
        },
        {
          name: "徐州市",
          value: [117.184811, 34.261792],
        },
        {
          name: "常州市",
          value: [119.946973, 31.772752],
        },
        {
          name: "苏州市",
          value: [120.619585, 31.299379],
        },
        {
          name: "南通市",
          value: [120.864608, 32.016212],
        },
        {
          name: "连云港市",
          value: [119.178821, 34.600018],
        },
        {
          name: "淮安市",
          value: [119.021265, 33.597506],
        },
        {
          name: "盐城市",
          value: [120.139998, 33.377631],
        },
        {
          name: "扬州市",
          value: [119.421003, 32.393159],
        },
        {
          name: "镇江市",
          value: [119.452753, 32.204402],
        },
        {
          name: "泰州市",
          value: [119.915176, 32.484882],
        },
        {
          name: "宿迁市",
          value: [118.275162, 33.963008],
        },
      ],
    };
  },
  methods: {
    initChart() {
      var myChart = echarts.init(document.getElementById("mapbox"));
      echarts.registerMap("JS", geoJson);

      let option = {
        geo: {. // ---- 这个属性一定要加!!!!
          map: "JS",
        },
        title: {
          text: "Population Density of Hong Kong (2011)",
          subtext: "Data from Wikipedia",
        },
        series: [
          {
            type: "map",
            map: "JS",
            roam: false,
            data: [
              {
                name: "南京",
                value: 23,
              },
              {
                name: "无锡",
                value: 23,
              },
              {
                name: "徐州市",
                value: 23,
              },
              {
                name: "常州市",
                value: 23,
              },
              {
                name: "苏州市",
                value: 23,
              },
              {
                name: "南通市",
                value: 23,
              },
              {
                name: "淮安市",
                value: 23,
              },
              {
                name: "盐城市",
                value: 23,
              },
              {
                name: "扬州市",
                value: 23,
              },
              {
                name: "镇江市",
                value: 23,
              },
              {
                name: "泰州市",
                value: 23,
              },
              {
                name: "宿迁市",
                value: 23,
              },
            ],
            name: "江苏资源展示",
            label: {
              show: true, // 显示省份标签
              // textStyle: { color: '#fff' } // 省份标签字体颜色
            },
            itemStyle: {
              areaColor: 'pink'
            }
          },
          {
            type: "effectScatter",
            coordinateSystem: "geo",
            zlevel: 1,
            rippleEffect: {
              number: 3, // 波纹的数量。
              period: 5, // 动画的周期,秒数。
              scale: 3, // 动画中波纹的最大缩放比例。
              brushType: "fill", // 波纹的绘制方式,可选 'stroke' 和 'fill'。
            },
            symbolSize: 8,
            data: this.myData,
          },
        ],
      };
      myChart.setOption(option);
    },
  },
};
</script>

<style lang="scss" scoped>
.mapbox {
  height: 500px;
  border: 1px solid red;
}
.scatter {
  height: 200px;
  border: 1px solid red;
}
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值