【大屏】 amap + echarts 踩坑以及避免办法

本文主要探讨在大屏应用中使用Echarts与高德地图(Amap)集成时遇到的问题,包括layer.render无效导致的动效不同步、事件触发冲突等,并给出了相应的解决建议。
摘要由CSDN通过智能技术生成

amap + echarts 踩坑以及避免办法

大屏

html,body,#container {
margin: 0;
padding: 0;
width: 5376px;
height: 1944px;
background-color: #000;
}

踩坑

现有的echarts amap插件非官方提供,巨坑,现排雷。
在这里插入图片描述

echarts-extension-amap插件使用,存在的问题:(推荐使用这个)

  1. layer.render无效,echart动效 无法随amap的移动同步渲染,有延迟
    //layer = myChart.getModel().getComponent('amap').getLayer();
    //下面是确保高德地图渲染的时候,echarts同时也需要再次渲染一次,保持位置的同步
    //layer.render = function() {
   
     //   myChart.setOption({
   
      //      series: series
      //  });
  //  }

myChart.setOption({
    animation: false});
function initMapOn() {
   
    map.on('dragging', ()=>{
   
        myChart.setOption({
   
            series: series
        });
    })
}

  1. echarts图层和amap元素图层的事件,只能触发一个图层的事件
 // echarts-extension-amap.js插件渲染的图层,覆盖掉了amap渲染的Marks图层的光标事件
 // 大屏一般都是做展示用,很少需要click,故这个坑可以合理避免————将点击事件集中到Marks图层上。
  #container .amap-maps{
   
    >div:last-child {
   
      pointer-events: none !important;
    }
  }

echarts-amap插件使用,存在的问题:
4. 不兼容2.0版本的高德地图

//插件无升级打算。
老大:可能是人升官了,所以不升级了,就是这么现实!
我:震惊!!!我好菜,我不配!!!
  1. echarts图层和amap元素图层的事件,只能触发一个图层的事件

代码

<script src="./util/jquery-3.6.0.min.js" charset="utf-8"></script>
<script src="https://webapi.amap.com/maps?v=2.0&key=【你的key】"></script>
<script src="./util/AmapUI.js" type="text/javascript" charset="utf-8"></script>
<script src="./util/echarts.min.js"></script>
<script src="./util/echarts-extension-amap.js" type="text/javascript" charset="utf-8"></script>
<!--<script src="./util/echarts-amap.min.js" type="text/javascript" charset="utf-8"></script>-->

<script src="./data/markers.js" charset="utf-8"></script>
<script src="js/initEchartMap.js" charset="utf-8"></script>
<script src="./js/index.js" charset="utf-8"></script>
$(function () {
   
    // initMap();
    // initMapLayer();

    initEchartMap();
    initMapPlugin()
    initMapOn();
    drawMapMakers();
    drawEchartScatter();
    addMarkerLabelAnimate
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值