Javascript OpenLayers:GetFeature WFS请求不';t在鼠标输入之前触发featureselected事件

Javascript OpenLayers:GetFeature WFS请求不';t在鼠标输入之前触发featureselected事件,javascript,openlayers,Javascript,Openlayers,我用WFS协议设置了一个GetFeature控件,在添加并激活该控件后,只需单击鼠标即可正常工作 selectControl.events.register("featureselected", this, function (e) { vectorLayer.addFeatures([e.feature]); }); selectControl.events.register("featureunselected", this, function (e) { vectorLay

我用WFS协议设置了一个GetFeature控件,在添加并激活该控件后,只需单击鼠标即可正常工作

selectControl.events.register("featureselected", this, function (e) { 
vectorLayer.addFeatures([e.feature]); 
}); 
selectControl.events.register("featureunselected", this, function (e) { 
    vectorLayer.removeFeatures([e.feature]); 
}); 
map.addControl(selectControl); 
selectControl.activate(); 
我想从新创建的点位置自动请求控件,如下所示:

map.controls[5].request(new OpenLayers.Bounds([lonLat.lon, lonLat.lat, lonLat.lon, lonLat.lat]), { single: true });
这是可行的,但只有在我用鼠标输入至少触发了一次请求之后。在手动请求之前,自动请求不会触发featureselected事件

一旦我用鼠标点击触发了事件,我就可以使用带有边界输入的控制请求方法

任何输入都是非常受欢迎的,因为我已经投入了很多时间

谢谢,
丹尼斯

我自己发现了这个问题。我不确定这是否是OpenLayers脚本中的错误

当我像这样请求控件时,GetFeature控件的modifiers属性为null:

.request(new OpenLayers.Bounds([lonLat.lon, lonLat.lat, lonLat.lon, lonLat.lat]), { single: true });
.modifiers = {multiple:null,toggle:null}
而不是通过单击地图对象

通过在映射中单击调用控件后,modifiers属性设置为{multiple:null,toggle:null}

如果我在控件上声明modifiers属性,如下所示:

.request(new OpenLayers.Bounds([lonLat.lon, lonLat.lat, lonLat.lon, lonLat.lat]), { single: true });
.modifiers = {multiple:null,toggle:null}
我可以运行.request而无需单击地图

这是我的疏忽吗?OL文档没有说明应该手动声明修饰符。但是,文档页面中没有给出默认值

丹尼斯