当我缩放或移动地图时,将重新绘制图层。这就是我想要的,因为我分配了要立即加载的功能。这是代码:
    wfs = new OpenLayers.Layer.Vector("WFS", {
    strategies: [new OpenLayers.Strategy.BBOX({
                    resFactor: 1,
                    ratio:1
                })],
    protocol: new OpenLayers.Protocol.WFS({
              maxFeatures:1000,
              url:  myUrl,
              featureType: myFeatureType,
              featureNS: myFeaturedNS,
              version: "1.1.0"
              }),
      filter: setFilter(year, variant)
});
以下代码是我的选择代码。这一切都按我的意愿进行。但是,当重新绘制图层时,所选内容将丢失并且onFeatureUnselect不会触发(应该触发)。我不确定选择是否真的丢失或样式是否已重置。
    selectCtrl = new OpenLayers.Control.SelectFeature(
        wfs,
        {
            clickout: true, toggle: false,
            multiple: false, hover: false,
            box: true,
            toggleKey: "shiftKey", // ctrl key removes from selection
            multipleKey: "shiftKey",
            eventListeners: {
                featurehighlighted: onFeatureSelect,
                featureunhighlighted: onFeatureUnselect
            }
        }
    );
@geographika
我的onFeatureSelect和onFeatureUnselect函数:
function onFeatureSelect(e) {
var feature = e.feature.attributes;
var featureclone = e.feature.clone();
var style = {
    pointRadius: 10,
    fillOpacity:0,
    strokeColor: "#000000"
    };
featureclone.style = style;
layer2.addFeatures([featureclone]);
selectedFeatures[featureclone.attributes.receptor_id] = featureclone;
}
function onFeatureUnselect(e) {
    var feature = e.feature.attributes;
    layer2.removeFeatures(selectedFeatures[feature.receptor_id]);   
    delete selectedFeatures[feature.receptor_id];
}
          
                  您的onFeatureSelect函数中有什么?
                
                
                  
                    —
                    geographika,
                    
                  
                
              
                  我已使用以下两个功能更新了帖子
                
                
                  
                    —
                    Boedy 2011年