vue3+echarts地图自定义图片

最近搞echarts搞的要起飞了。
上边文章已经说了基本地图的功能实现,下边开始自定义图片,样式如下

在这里插入图片描述

我们需要对已经存在的资源池进行地区的显示。百度了之后发现代码都没实现成功,应该是我的写法,或者我没抄对吧。还是看看文档自己思考吧。
官网介绍传送门
完整代码

需要给myMap增加固定的高和宽
<div id="myMap" ref="myMap" class="border"></div>
<script>
import {
  defineComponent,
  ref,
  getCurrentInstance,
  onMounted,
} from "vue";
export default defineComponent({
setup(){
let { proxy } = getCurrentInstance();
const chart = ref(null);
const mapOption = ref({
      backgroundColor: "#FFFFFF",
      geo: {
        map: "china",
        roam: false,
        zoom: 1.2,
        scaleLimit: { min: 0, max: 3 }, // 缩放级别
        regions: [
          {
            name: "南海诸岛",
            value: 0,
            itemStyle: {
              normal: {
                opacity: 0,
                label: {
                  show: false,
                },
              },
            },
          },
        ],
        itemStyle: {
          areaColor: "#BEDAEE", //默认的地图板块颜色
          borderWidth: 1,
          borderColor: "#009ce0",
        },
      },
      title: {
        text: "资源池分步",
        x: "center",
        y: 20,
      },
      tooltip: {
        trigger: "item",
        formatter: function(params) {
          return `
                  <div>资源池名称</div>
                  <div>节点数量</div>
                `;
        },
      },

      //配置属性
      series: [
        {
          name: "数据",
          type: "map",
          mapType: "china",
          roam: false,
          geoIndex: 0,
          label: {
            normal: {
              show: false, //省份名称,
            },
            emphasis: {
              show: false,
            },
          },
          renderItem: function(params, api) {
            return addImage(params, api);
          },
          //value的两个值必须存在,这两个值为我们地图上该地区的中心横纵坐标点,地图上图片的显示需要用到该值
          data: [
            { name: "北京", value: [116.41989, 40.189913] },
            // { name: "天津", value: [117.351154, 39.28914] },
            // { name: "上海", value: [121.438732, 31.072508] },
            // { name: "重庆", value: [107.88398, 30.067321] },
            // { name: "河北", value: [114.502461, 38.045474] },
            // { name: "河南", value: [113.619918, 33.902738] },
            // { name: "云南", value: [101.485108, 25.008649] },
            // { name: "辽宁", value: [122.606135, 41.300702] },
            // { name: "黑龙江", value: [127.693002, 48.040469] },
            // { name: "湖南", value: [111.754313, 27.655081] },
            // { name: "安徽", value: [117.226894, 31.849585] },
            // { name: "山东", value: [118.186283, 36.374485] },
            // { name: "新疆", value: [85.294712, 41.371801] },
            // { name: "江苏", value: [119.48196, 32.985864] },
            // { name: "浙江", value: [120.109522, 29.181876] },
            // { name: "江西", value: [115.732937, 27.636129] },
            // { name: "湖北", value: [112.271042, 30.98802] },
            // { name: "广西", value: [108.794237, 23.833575] },
            // { name: "甘肃", value: [103.823557, 36.058039] },
            // { name: "山西", value: [112.305144, 37.619053] },
            // { name: "内蒙古", value: [114.059024, 44.315561] },
            // { name: "陕西", value: [108.887567, 35.263665] },
            // { name: "吉林", value: [126.171246, 43.703944] },
            // { name: "福建", value: [118.005928, 26.070282] },
            // { name: "贵州", value: [106.88108, 26.826362] },
            // { name: "广东", value: [113.429877, 23.334664] },
            // { name: "青海", value: [96.043531, 35.726402] },
            // { name: "西藏", value: [88.388277, 31.56375] },
            // { name: "四川", value: [102.693438, 30.674548] },
            // { name: "宁夏", value: [106.169867, 37.291331] },
            // { name: "海南", value: [109.754777, 19.189617] },
            // { name: "台湾", value: [120.971486, 23.749452] },
            // { name: "香港", value: [114.134394, 22.377371] },
            // { name: "澳门", value: [113.56642, 22.159262] },
          ], //数据
        },
      ],
    });
    const addImage = (params, api) => {
      console.log(params, api.value, china);
      return {
        type: "image",
        style: {
          image: Photopng,//图片地址
          x: api.coord([api.value(0), api.value(1)])[0],//该值为上边value的值
          y: api.coord([api.value(0), api.value(1)])[1],//该值为上边value的值
          width: 20,//图片宽度
          height: 19,//图片高度
        },
      };
    };
    onMounted(() => {
      console.log(proxy, chart.value, mapOption.value);
      chart.value = proxy.$echarts.init(
        document.getElementById("myMap"),
        "macarons"
      );
      chart.value.setOption(mapOption.value);
      // this.chart.on("click", function(params) {
      //   //此点击事件也可以做为其他echarts图表的点击 事件
      //   alert(params.name);
      //   console.info(params);
      // });
    });
}
})

如果有更好的解决办法欢迎一起交流-_-

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容