美文网首页开源
openlayers点击事件

openlayers点击事件

作者: MarvinCHN | 来源:发表于2020-01-08 10:47 被阅读0次

    1. 事件监听 -- feature

    // 为地图注册鼠标单击事件的监听

    map.on('singleclick', event => {

        map.forEachFeatureAtPixel(event.pixel, feature => {

        // 为移动到的feature发送自定义的singleclick消息

            feature.dispatchEvent({type:'singleclick', event: event});

        });

    });

    // 为某个feature注册事件监听

    feature1.on('singleclick', event => {

        console.log(event);

    })

    上面的事件类型换成dbclick,mousemove等同理

    2. select -- layer

    // 创建图层的动作

    let selectClick =new ol.interaction.Select({

        condition :ol.events.condition.singleClick,

        style : areaStyles,

        filter: (feature, layer) => {

            return layer === myLayer // 需要添加事件的layer

        }

    });

    // 地图实例中加入事件

    selectClick.on('select', event => {

        console.log(event);

        if (event.selected[0] == null ) return;

        // 在使用ol.interaction.Select进行点击时,默认会把点击选中的要素显示在地图上

        // 可以用以下方法解决

        selectClick.getFeatures().clear();  

    });

    map.addInteraction(selectClick);

    相关文章

      网友评论

        本文标题:openlayers点击事件

        本文链接:https://www.haomeiwen.com/subject/saswvctx.html