【问题标题】:How do I manually cause a 'select' event on an Openlayers 3 ol.interaction.Select?如何在 Openlayers 3 ol.interaction.Select 上手动引发“选择”事件?
【发布时间】:2015-10-13 21:43:05
【问题描述】:

我想让 ol.interaction.Select obj 在用户单击与该功能相关的按钮时“选择”该功能。当用户点击某个功能时,我希望能够重用我已经使用的事件处理代码。

有没有办法通过 Select 交互来做到这一点?

【问题讨论】:

    标签: javascript maps openlayers-3


    【解决方案1】:
    <!-- UPDATE -->
    

    也许当这个PR 被合并时,我们可以调度select 事件。关于重用代码,我想你可以解决这个问题,将它包装在一个函数上,当将一个特性推送到集合时,使用该特性调用你的函数。

    <!-- End of update -->
    

    根据需要获取 ol.interaction.Select collectionpushpop

    var select = new ol.interaction.Select({
        //some options
    });
    map.addInteraction(select);
    
    var collection = select.getFeatures();
    collection.push(some_feature);
    
    //or push an array of features
    collection.extend(some_array_features);
    

    【讨论】:

    • 这会触发'select'事件吗?我想我应该试试看。
    • 无触发器。只是增加收藏。
    • 还是谢谢你。尝试手动触发“选择”交互事件可能只是糟糕的设计。我会尝试做其他事情。
    • 顺便说一句,您对 3.10 的贡献很棒,我立即使用了它。也许您可以允许选择交互中的“图层”选项成为下一个集合,而不仅仅是一个数组? :)
    • 啊,我没注意。您想手动触发。我看看有没有办法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多