graph的图表绑定不了点击事件

0 投票
//创建Ring图表
    function createRingThemeLayer() {
        chartsSettingForPieOrRing.innerRingRadius = 20;
        themeLayerOptions.chartsSetting = chartsSettingForPieOrRing;
        themeSource = new ol.source.Graph("RingLayer", "Ring", themeLayerOptions);

        themeSource.onclick=showInfoWin;
        //themeSource.on("click", showInfoWin);
        themeSource.addFeatures(features);
        addPointerInteraction(themeSource);
        themeLayer = new ol.layer.Image({
            source: themeSource
        });
        map.addLayer(themeLayer);
    }
8月 14, 2019 分类:  113次浏览 | 用户: 可乐5 (9 分)

1个回答

0 投票
您好,我这边测试了一下,确实出现了这个问题,可能是一个缺陷,我这边还要再测试一下,明天给您消息
8月 14, 2019 用户: 于浩 登峰造极 (5,665 分)

折腾半下午 解决了  不过用的不是click点击的   具体测试完了麻烦您回我一下  谢谢啦yes

测试了一下,如果想实现点击的话依据官网的范例需要修改指针的交互事件,默认的是handleMoveEvent,改成handleDownEvent就成了点击事件。ol.source.Graph的设置好像是无效的,具体还要和研发沟通

function addPointerInteraction(themeSource) {
        pointerInteraction = new ol.interaction.Pointer({
            handleDownEvent: function (event) {
                themeSource.fire('mousemove', event);
            }
        });
        map.addInteraction(pointerInteraction);
    }

我也是改的handleDownEvent  不过有时候可能会点不到 但是ol.source.Graph的设置也不是无效的  on 监听的事件里  有几个冒泡的事件貌似是可以的    比如Mouseover  mouseout  但是其他的好像不可以
...