http://ol3js.org/en/master/examples/select-features.html
Предвид горните примери, какви точки на разширение има за закачане, когато са избрани функции?
http://ol3js.org/en/master/examples/select-features.html
Предвид горните примери, какви точки на разширение има за закачане, когато са избрани функции?
Можете да свържете събитие за предварително композиране към вашия слой, когато на вашата карта се задейства събитие с едно щракване. От тук можете да изпратите събитие за промяна на вашето избрано взаимодействие.
yourmap.on('singleclick',function(event)){
layer.once('precompose',function(event){
yourSelectInteraction.dispatchChangeEvent();
}
}
yourSelectInteraction.on('change',function(){
//Do stuff with your selected features here
}
Ето едно решение, което може да е по-интуитивно от това на Дани и също така изглежда „официалният“ начин, вижте този проблем в GitHub на ol3.
Просто добавете слушателя към колекцията от избрани функции:
mySelectInteraction.getFeatures().on('change:length', function(e) {
if (e.target.getArray().length === 0) {
alert("no selected feature");
} else {
var feature = e.target.item(0);
alert(feature.getId()); //or do something better with the feature !
}
});
e.target.getLength()
вместо e.target.getArray().length
- person congusbongus; 02.06.2015
Искате да използвате манипулатора на събития featureselected
:
Този пример е на векторен слой:
featuresLayer.events.on({
'featureselected': function (e) {
console.log(e);
}
});