1.问题:openlayer vector在注册feature的事件后index增加了导致后加入的mark图层点击事件无效。
2.vector添加SelectFeature代码如下:
var selecthover = new OpenLayers.Control.SelectFeature(
featureVectors,
{
hover: true,
highlightOnly:true
}
);
var select = new OpenLayers.Control.SelectFeature(
featureVectors,
{
clickout: true,
toggle: false,
multiple: false,
hover: false,
toggleKey: "ctrlKey", // ctrl key removes from selection
multipleKey: "shiftKey", // shift key adds to selection
box: false
}
);
selecthover.handlers.feature.stopDown=false;
selecthover.handlers.feature.stopDown=false;
select.handlers.feature.stopDown=false;
select.handlers.feature.stopUp=false;
map.addControl(selecthover);
map.addControl(select);
selecthover.activate();
select.activate();
selecthover.events.on({ 。。。
featureVectors.events.on({。。。
3.解决方法:在vector注册完事件后,在后面改变vector的index即可:
$('.olLayerDiv').eq(5).css({'z-index':'350'});(我的vector在map中的layerindex为5)
本文介绍了一个关于OpenLayers中vector图层注册事件后导致的点击事件失效的问题,并提供了具体的解决办法。通过调整vector图层的z-index属性值,可以有效解决因图层顺序引起的事件响应问题。
2620

被折叠的 条评论
为什么被折叠?



