JS API 4.4中如何应用Echart插件

小弟小白一枚,要使用4.4 API 实现popupTemplate弹窗显示Echart统计图,在graphic的popupTemplate.content中定义了一个div,但是无法获取到div的对象,没有办法加载。请各位大神指点迷津。
已邀请:

rongc

赞同来自: 一起的远方

应用echarts的关键在于如何确保初始化echarts的时候PopUp弹窗的DIV已经构建完毕,可以通过监听PopUp弹窗的属性来实现。
示例:
mapView.popup.watch("title,visible", function(newValue,oldVale,property,popup){
    if(popup.visible){
        initEcharts();
     }
})
 

GIS晴天 - webgis爱好者

赞同来自:

你可以先写好一个html包含echart,然后在弹框的内容中添加<iframe>标签,通过<iframe>引入你写好的html就可以了

提线木偶 - 90后IT男

赞同来自:

就看你是怎么样弹出popupTemplate弹窗了,如果是点击地图弹出框,你可以给map添加点击事件,然后在点击事件的回调函数中就可以获取你在content中定义的div的id了

DQking

赞同来自:

我重新描述下我的功能需求吧:
 接口版本:ArcGis For JavaScript API (4.4)
 实现的功能是:在地图上有渲染的某个点,点击时弹窗显示,弹窗内显示使用Echart创建的统计图表。
 思路:Echart在创建时需要有个承载的div对象,所以需要在弹窗显示时能够在Popup temple中创建一个div,并且在接下来的操作中能够获取div对象[document.getElementById()],并用来创建承载Echart。
viewfile.jpg

问题:在点击地图或graphic时触发回调函数,但是get不到div对象。
我不知道应该触发什么样的接口/或者操作来获取div对象。我尝试过在popupTemplate.content设置过Function、Promise,但在执行的时候发现,js脚本在执行到function(Promise)时窗体创建了,但是content中的div没有创建,获取不到div对象。
 
 

润润家的糖果波

赞同来自:

楼主请问解决了吗?我也碰到了这个问题,求教!

要回复问题请先登录注册