我有一张带有几个标记的地图,这些标记都有一个标签,表示该标记点的数据。当这些标记重叠时,标签始终位于所有标记的顶部。我想只显示顶部标记的标签。如果现在两个标记重叠,则底部标记的标签仍显示在顶部标记上方。有谁知道如何在openlayers 3中解决这个问题?
答案 0 :(得分:3)
您可以使用zIndex
样式属性将标签粘贴到标记上。使用图层样式函数时,图层定义可能如下所示:
var style = new ol.style.Style({
text: new ol.style.Text({
text: '',
// ...
}),
image: new ol.style.Icon({
// ...
})
});
var styles = [style];
var index = 0;
var vectorLayer = new ol.layer.Vector({
style: function(feature, resolution) {
style.getText().setText(feature.get('name'));
style.setZIndex(index);
index = (index == Number.MAX_VALUE) ? 0 : index + 1;
return styles;
}
});