I'm been scratching my head for a while on this : how can I add select a feature using this customized control on click + ctrl key down only ? I've tried to add a keyMask but the checkModifiers never seems to trigger.
I tried to set it to the Control, the Handler, no success. I tried to remove the navigation control which seemed to be the only one to trigger checkModifiers but again no success. I must be missing something obvious here. Any hint ? See code below ( borrowed this one from an wfs-t example ) /** * Class: DeleteFeature */ OpenLayers.Control.DeleteFeature = OpenLayers.Class(OpenLayers.Control, { keyMask:OpenLayers.Handler.MOD_CTRL, // tried there initialize: function(layer, options) { OpenLayers.Control.prototype.initialize.apply(this, [options]); this.layer = layer; this.handler = new OpenLayers.Handler.Feature( this, layer, { click: this.clickFeature, keyMask:OpenLayers.Handler.MOD_CTRL // tried there } ); }, clickFeature: function(feature) { // if feature doesn't have a fid, destroy it if(feature.fid == undefined) { removeRoadInfoPopup(oLastHoverFeature); // HARDCODED adube oLastHoverFeature = null; // HARDCODED adube this.layer.destroyFeatures([feature]); } else if (feature.state != OpenLayers.State.DELETE){ feature.state = OpenLayers.State.DELETE; this.layer.events.triggerEvent("afterfeaturemodified", {feature: feature}); feature.renderIntent = "select"; this.layer.drawFeature(feature); } else { feature.state = null; feature.renderIntent = "default"; this.layer.drawFeature(feature); } }, setMap: function(map) { this.handler.setMap(map); OpenLayers.Control.prototype.setMap.apply(this, arguments); }, CLASS_NAME: "OpenLayers.Control.DeleteFeature" }); -- Alexandre Dubé Mapgears www.mapgears.com _______________________________________________ Users mailing list Users@openlayers.org http://openlayers.org/mailman/listinfo/users