echarts南海诸岛无法显示问题

本文介绍了如何在Vue项目中使用ECharts库创建中国地图,并指出China大小写的重要性。作者提到ECharts对china类型的特殊处理以及在node_modules中的China.json文件查找南海诸岛坐标的问题。
摘要由CSDN通过智能技术生成

先上代码:

<template>
  <div>
    <div id="map" class="w-100 h-100"></div>
  </div>
</template>
<script>
import * as echarts from "echarts";
import China from "@/assets/json/China.json";
echarts.registerMap("china", China);
export default {
  name: "ChinaMap",
  data () {
    return {};
  },
  mounted () {
    this.initMap("map");
  },
  methods: {
    initMap (id) {
      let myChart = echarts.init(document.getElementById(id));
      const option = {
        geo: {
          map: "china",
          aspectScale: 1, // 长宽比
          zoom: 1.4,
          top: "20%",
          itemStyle: {
            areaColor: "#42aefe",
            borderColor: "transparent",
            borderWidth: 1,
          },
          tooltip: {
            show: false,
          },
        },
        series: [
          {
            map: "china", // 使用
            type: "map",
            aspectScale: 1, // 长宽比
            zoom: 1.4,
            top: "18%",
            label: {
              show: true,
              textStyle: {
                color: "#fff",
                fontFamily: "SimHei",
                fontSize: 16,
              },
            },
            itemStyle: {
              borderColor: "#fff",
              borderWidth: 1,
              areaColor: "#42aefe",
            }
          },
        ],
      };
      option && myChart.setOption(option);
      window.onresize = function () {
        myChart.resize();
      };
    },
   
  },
};
</script>
<style lang="scss" scoped></style>

博主踩的坑:

以下三个地方的China大小写区分,China大写则是正常展示全部地图,china小写则是以右下角图例的形式。(修改完后图例可能很乱,重启项目即可)

echarts.registerMap("china", China);

geo: { map: "china",}

series: [{ map: "china"}]

实现位置:(参考版本: "echarts": "^5.4.2")

node_modules\echarts\lib\coord\geo\fix\nanhai.js

echarts对mapType:“china”做了特殊处理,找了很多China.json都没有找到南海诸岛的点位实际上在是在node_modules里面做的处理

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值