Openlayers 3 Openlayers 3:以编程方式选择功能

Openlayers 3 Openlayers 3:以编程方式选择功能,openlayers-3,Openlayers 3,我正在尝试将我的系统从Openlayers 2升级到Openlayers 3,我有一个问题似乎无法解决 我的应用程序有一个网格和一个地图,当用户单击网格时,我希望选择地图上的相关点 在Openlayers 2中,我使用了以下内容: self.selectControl.select(feature[0]); mySelectControl.getFeatures().clear() -> removes the selected items mySelectControl.getFea

我正在尝试将我的系统从Openlayers 2升级到Openlayers 3,我有一个问题似乎无法解决

我的应用程序有一个网格和一个地图,当用户单击网格时,我希望选择地图上的相关点

在Openlayers 2中,我使用了以下内容:

self.selectControl.select(feature[0]);
mySelectControl.getFeatures().clear() -> removes the selected items

mySelectControl.getFeatures().push(featureToSelect) -> selects the applied feature
我无法找到或理解如何在Openlayers 3中执行相同的操作

所以说得很清楚,我有一个通过编程找到的特性,我想在地图上选择这个特性(通过编程)


我似乎在API中找不到任何东西,但这可能是因为我对Openlayers不太了解。

要做到这一点,您需要执行以下操作:

self.selectControl.select(feature[0]);
mySelectControl.getFeatures().clear() -> removes the selected items

mySelectControl.getFeatures().push(featureToSelect) -> selects the applied feature
  • 将“选择”交互添加到地图

    var selectInteraction = new ol.interaction.Select();
    map.addInteraction(selectInteraction);
    
  • 将要选择的任何要素添加到“选择”交互的要素阵列中

    selectInteractions.getFeatures().push(featureToSelect);
    

  • 就像最新的openlayers 4.5上的一个字符一样工作

    @bebraw-StackOverflow允许我的时候我会的,说我必须再等一个小时(从写作时算起),谢谢。在任何官方文档或我发现的任何示例中,您都可以
    push()
    getFeatures()
    数组,这一点并不明显。[是的,我知道,这是
    ol.Collection
    的定义中固有的,但这只是事后才明白]