[OpenLayers-Users] Problem with SelectFeature in
	OpenLayers.Layer.Vector.clone()
    Robert Kulawik 
    rob-news at gmx.de
       
    Wed Sep  7 06:03:09 EDT 2011
    
    
  
Hello list,
i have a problem with selecting features by selectfeature control in
cloned vector layer.
For example, when i select features in a layer like this:
(...)
var layer = new OpenLayers.Layer.Vector();
layer = map.getLayer(layerID);
layer.setVisibility(true);
layer.redraw();
var selectControl = new OpenLayers.Control.SelectFeature(
    layer, {
        clickout: false, toggle: false,
        multiple: false, hover: false,
        toggleKey: "ctrlKey", // ctrl key removes from selection
        multipleKey: "shiftKey", // shift key adds to selection
        box: true
        }       
 );
layer.map.addControl(selectControl);
selectControl.activate();
e.g.
for (var point in layer.features){
    (...)
       selectControl.select(layer.features[point]);
}
it works fine.
but i need this with a cloned layer. when I do this with:
var oldLayer = new OpenLayers.Layer.Vector();
oldLayer = map.getLayer(layerID);
var layer = new OpenLayers.Layer.Vector();
layer = oldLayer.clone();
...etc. see above
i get by the first selection an error:
"c is null" in OpenLayers.js (Zeile 805)
(else{if(a._prevHighlighter!=this.id)a._lastHighlighter=a._prevHighlighter;delete
a._prevHighlighter}b.drawFeature(a,a.style||a.layer.style||"default");this.events.triggerEvent("featureunhighlighted",{feature:a})},select:function(a){var
b=this.onBeforeSelect.call(this.scope,a),c=a.layer;if(b!==false){b=c.events.triggerEvent("beforefeatureselected",{feature:a});if(b!==false){c.selectedFeatures.push(a);this.highlight(a);if(!this.handlers.feature.lastFeature)this.handlers.feature.lastFeature=c.selectedFeatures[0];)
I use Openlayers.js 2.10 $Revision: 10995
Has somebody an idea to solve this?
Best Regards
Robert
    
    
More information about the Users
mailing list