【问题标题】:Programmatically trigger a select event in open layers 4以编程方式触发开放层 4 中的选择事件
【发布时间】:2017-06-06 14:41:35
【问题描述】:

是否有机会触发 ol4 中 ol.feature 的手动选择?我看到了here 的帖子,但我有同样的问题:自定义选择样式未应用。以编程方式选择正常选择(在地图内)的任何解决方法?

【问题讨论】:

标签: openlayers openlayers-3 gwt-openlayers


【解决方案1】:

我必须解决的问题是 - 如果用户单击外部表中的记录,我必须显示该功能的弹出窗口。这就是我解决问题的方法。

  1. 绘制地图时,我将图层源、要素列表保存在全局变量中。
  2. 当用户点击表中的记录时,我得到记录的 ID。
  3. 获取特征 - layerSource.getFeatureById (id)
  4. 绘制弹出窗口。 (不要以为你对这一步感兴趣)

如果您必须设置样式,我认为您需要从地图中删除旧的矢量图层,然后重新绘制该层。对于样式,您需要使用一个函数,该函数将为所选功能返回不同的样式。

【讨论】:

  • 我的问题是如何使手动“选择”事件通过 ol.interaction.select 样式。我有功能,我有交互,我有选择样式功能(给定交互),但我不知道如何将它们组合起来以编程方式进行选择,就像从地图中一样。我有这个代码:selectControl.getFeatures().push(featureToSelect); selectControl.dispatchEvent({ type: 'select', selected: [featureToSelect], deselected: [], }); 但我的选择风格不适用。它应用默认选择样式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多