在 OpenLayers 中同时从多个层获取 FeatureFromEvent
getFeatureFromEvent from multiple layers simultaneously in OpenLayers
我正在尝试 return 用户点击两个图层的多个功能(每个图层一个功能)?
我正在使用 openLayers 2.12。我有 2 个包含多边形的矢量图层和一个包含两者的容器层。
单击两个图层都包含特征的位置时,只有第 2 层特征被 returned。
如何在同一位置也获得layer1的特征?
是否可以从视口位置的特定图层获取特征?
说明:SelectFeature
-控件使用图层getFeatureFromEvent()
方法为单击、悬停、触摸等事件找到一个功能。如果 SelectFeature 控制多个层,它将这些层粘附到一个虚拟的单层,因此在这种情况下您也最多获得一个特征。
你的第一个问题:如果你想要 select 多个特征,你可以使用 SelectFeature 的 selectBox(OpenLayers.Bounds)
方法:如果你从你的位置创建一个小边界并调用 selectBox(),来自 all 层的 all 特征与你的边界相交得到 selected.
您的第二个问题:您可以从您的视口位置组成一个 OpenLayer.Event 并为特定图层调用 getFeatureFromEvent()。这当然 return 只有一个特征,即使在您的位置有很多特征重叠。
希望对您有所帮助。
我正在尝试 return 用户点击两个图层的多个功能(每个图层一个功能)?
我正在使用 openLayers 2.12。我有 2 个包含多边形的矢量图层和一个包含两者的容器层。
单击两个图层都包含特征的位置时,只有第 2 层特征被 returned。
如何在同一位置也获得layer1的特征?
是否可以从视口位置的特定图层获取特征?
说明:SelectFeature
-控件使用图层getFeatureFromEvent()
方法为单击、悬停、触摸等事件找到一个功能。如果 SelectFeature 控制多个层,它将这些层粘附到一个虚拟的单层,因此在这种情况下您也最多获得一个特征。
你的第一个问题:如果你想要 select 多个特征,你可以使用 SelectFeature 的 selectBox(OpenLayers.Bounds)
方法:如果你从你的位置创建一个小边界并调用 selectBox(),来自 all 层的 all 特征与你的边界相交得到 selected.
您的第二个问题:您可以从您的视口位置组成一个 OpenLayer.Event 并为特定图层调用 getFeatureFromEvent()。这当然 return 只有一个特征,即使在您的位置有很多特征重叠。
希望对您有所帮助。