我试图从用户点击中返回两个图层中的多个要素(每个图层上有一个要素)?
我正在使用openLayers 2.12。我有2个包含多边形的矢量图层和一个包含这两个图案的容器图层。
单击两个图层包含要素的位置时,仅返回layer2要素。
如何在第1层获得相同位置的功能?
是否需要从视口位置的特定图层获取要素?
答案 0 :(得分:0)
说明:SelectFeature
- Control使用图层getFeatureFromEvent()
方法为点击,悬停,触摸等事件查找一个功能。如果SelectFeature控制多个图层,它会将图层粘贴到虚拟单个图层,因此在这种情况下您最多只能获得一个特征。
您的第一个问题:如果您想选择多个功能,可以使用SelectFeature的selectBox(OpenLayers.Bounds)
方法:如果您从您的位置创建一个小边界并调用selectBox(), all 由您控制的SC控制的所有图层的功能将被选中。
您的第二个问题:您可以从视口位置组成一个OpenLayer.Event,并为特定图层调用getFeatureFromEvent()。这当然只返回一个功能,即使很多功能在您的位置重叠。
希望有所帮助。