这是小提琴Link。功能在地图上显示的时候就像这段代码一样:
var featureVectorLayer = new ol.layer.Vector({
source: featureClusterSource,
style: new ol.style.Style({
fill: new ol.style.Fill({
color: 'rgba(255, 255, 255, 0.2)'
}),
stroke: new ol.style.Stroke({
color: 'blue',
width: 2
}),
image: new ol.style.Circle({
radius: 7,
fill: new ol.style.Fill({
color: '#ffcc33'
})
})
})
});
但是我将source - featureClusterSource更改为featureVectorSource.it效果很好但是在这段时间我点击地图上的功能时我没有获得功能。
var featureVectorLayer = new ol.layer.Vector({
source: featureVectorSource,
style: new ol.style.Style({
fill: new ol.style.Fill({
color: 'rgba(255, 255, 255, 0.2)'
}),
stroke: new ol.style.Stroke({
color: 'blue',
width: 2
}),
image: new ol.style.Circle({
radius: 7,
fill: new ol.style.Fill({
color: '#ffcc33'
})
})
})
});
如何使用featureClusterSource在地图上显示功能?
答案 0 :(得分:0)
但是我将source - featureClusterSource更改为featureVectorSource.it效果很好但是在这段时间我点击地图上的功能时没有获得功能。
单击相交的要素时,请更改forEachFeatureAtPixel方法以将其添加到数组中。 Here是一个工作小提琴
map.on("singleclick", singleClickCB);
function singleClickCB(event) {
var features = [];
map.forEachFeatureAtPixel(event.pixel, function(feature, layer) {
features.push(feature);
});
if (features) {
var i;
for (i = 0; i < features.length; ++i) {
alert(features[i].get('title'));
}
}
} ;