http://ol3js.org/en/master/examples/select-features.html
鉴于上面的例子,当选择特征时,有哪些扩展点可以挂钩?
答案 0 :(得分:9)
这个解决方案可能比Danny更直观,而且似乎也是“官方”方式,请参阅this issue on ol3's GitHub。
只需将监听器添加到所选功能的集合中:
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 !
}
});
答案 1 :(得分:2)
在地图上触发单击事件时,您可以将预合成事件绑定到图层。从这里,您可以在选择的互动上发送更改事件。
yourmap.on('singleclick',function(event)){
layer.once('precompose',function(event){
yourSelectInteraction.dispatchChangeEvent();
}
}
yourSelectInteraction.on('change',function(){
//Do stuff with your selected features here
}
答案 2 :(得分:0)
您想使用featureselected
事件处理程序:
此示例位于Vector图层上:
featuresLayer.events.on({
'featureselected': function (e) {
console.log(e);
}
});