$.ajax({
url : url,
async : false,
success : function(data) {
// 构建关键点矢量图层
for (i = 0; i < data.geometries.length; i++) {
var fe = (new ol.format.GeoJSON()).readFeatures(JSON
.stringify(data.geometries[i]));
var vectorLayer = new ol.layer.Vector({
source : new ol.source.Vector({
features : fe
}),
style : beforeStyle
})
map.addLayer(vectorLayer);
// 创建图层的动作
var selectClick = new ol.interaction.Select({
condition : ol.events.condition.pointerMove,
style : afterStyle,
layers : [vectorLayer]
});
// 地图实例中加入事件
selectClick.on("select", ClickEvent);
map.addInteraction(selectClick);
}
}
});
在openlays3中,将geojson中的数据分成n个图层,然后给每个图层添加鼠标移动事件是可行的,但是将ol.events.condition.pointerMove更换为click就只有最后一个图层的事件生效,这是为什么呢?感谢各位大佬帮忙,提供一下解决方案和方法,再次感谢。