在使用bmap时发现了一个问题:节点大小无法根随地图缩放而改变。最后解决了,设计思路大致如下:
1.添加鼠标滚轮监听事件
这个是在github留言区看到的,通过graph.getZr().on('mousewheel', function (params) {option})鼠标滚轮监听事件
2.获取zoom和center
我们可以将节点大小和zoom绑定,通过更新echarts配置(graph.setOption({option},true))来实现大小变化。那在更新配置时,我们需要获取到当前的zoom等级以及用户操作鼠标滚轮后的center数据
center我们可以用graph.getOption().bmap[0].center来获取
zoom的话则需要进行一些处理,因为echarts支持的zoom范围是4~17,所以我首先是用var zoomTemp = zoom + params.wheelDelta来判断滚动后所在的zoom层数,再通过if (zoom >= 4 && zoom <= 17){...}来进行限制(更新),最后把zoomTemp的值赋给zoom,避免zoom无限增加产生错误