【问题标题】:getFeatureFromEvent from multiple layers simultaneously in OpenLayers在 OpenLayers 中同时从多个层中 getFeatureFromEvent
【发布时间】:2015-05-24 08:46:44
【问题描述】:

我正在尝试通过用户单击从两层返回多个特征(每层一个特征)?

我正在使用 openLayers 2.12。我有 2 个包含多边形的矢量图层和一个包含两者的容器层。

当点击两个图层都包含一个特征的地方时,只返回 layer2 的特征。

如何在同一位置的 layer1 也获得特征?

是否可以从视口位置的特定图层获取特征?

【问题讨论】:

    标签: javascript maps mapping openlayers gis


    【解决方案1】:

    解释:SelectFeature-Control 使用层 getFeatureFromEvent() 方法为点击、悬停、触摸等事件找到 一个 功能。如果 SelectFeature 控制多个层,它会将这些层粘合到一个虚拟的单层,因此在这种情况下您也最多获得一个特征。

    你的第一个问题:如果你想选择多个特征,你可以使用 SelectFeature 的 selectBox(OpenLayers.Bounds) 方法:如果你从你的位置创建一个小的边界并调用 selectBox(),all由您的 SC 控制的与您的边界相交的 所有 层的特征被选中。

    您的第二个问题:您可以从您的视口位置组成一个 OpenLayer.Event 并为特定图层调用 getFeatureFromEvent()。这当然只会返回一个特征,即使很多特征在您的位置重叠。

    希望能有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多