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