[OpenLayers-Dev] Re: How do I fire a function after all features have been selected by a box in OpenLayers?

Xavier Mamano (jorix) xavier.mamano at gmail.com
Tue Jan 10 14:52:46 EST 2012


Hi brianwmunz,

I have prepared a code modification to allow to do what you mentioned. I
have thought to propose a "Pull Request" for this change. 

The change is:
https://github.com/jorix/openlayers/commit/3547c7aeb81de5cc68db80d3e089a04dfc85e256

An example of use:
// listeners
var onFeatureSelect = function(evt) {
    alert("Selected feature id =" + evt.feature.id + (evt.boxSelection?" by
BOX":""));
};
var onFeatureUnselect =function(evt) {
    alert("Unselected feature id =" + evt.feature.id);
};
var onBoxSelection =function(evt) {
    alert("Box selected " + evt.features.length + " features");
};
// select control
var selectCtrl = new OpenLayers.Control.SelectFeature(layerVector, {
    clickout: true,
    box: true,
    eventListeners: {
        boxselection: onBoxSelection
    }
});
layerVector.events.on({
    'featureselected': onFeatureSelect,
    'featureunselected': onFeatureUnselect
});
map.addControl(selectCtrl); 
selectCtrl.activate();

NOTE: Is not used "onSelect" and "onUnselect" of SelectFeature so they are
considered deprecated (even that is not documented and some examples still
use them)

Sorry, SelectFeature is a road full of obstacles for beginners, and
sometimes for those who are not ;-/

Xavier Mamano


 wrote
> 
> Thanks for your quick response.
> I'm somewhat new to OpenLayers, so your example is a little over my head
> right now :)
> Could you please explain a little more?  I'm doing some pretty basic
> things.  I have an OSM base layer and a vector layer which contains
> polygon features.
> I'd like to be able to have a function fire after the box has been dragged
> that gets a list of all selected features.
> I understand that we're attaching an event, but I'm not sure where to
> attach it and that kind of thing.
> Again, sorry if I sound pretty ignorant on this, but like I said I'm just
> getting my feet wet with OpenLayers.
> Thanks a lot for your help.
> 


--
View this message in context: http://osgeo-org.1803224.n2.nabble.com/How-do-I-fire-a-function-after-all-features-have-been-selected-by-a-box-in-OpenLayers-tp7168754p7173471.html
Sent from the OpenLayers Dev mailing list archive at Nabble.com.


More information about the Dev mailing list