[英]OpenLayers 3 Image and Text style zindex
我注意到,文本和图像样式在渲染时似乎并不遵循其图层顺序。 例如,当许多具有这些样式的要素靠近在一起时,所有文本都会呈现在其他重叠的矢量要素之上。 有没有办法禁用或覆盖此行为? 谢谢。
myFeature.setStyle(new ol.style.Style({
image: new ol.style.Icon({
src: '/images/myImage.png',
anchor: [0.5, 1],
anchorXUnits: 'fraction',
anchorYUnits: 'fraction'
})
}));
myOtherFeature.setStyle(new ol.style.Style({
image: new ol.style.Circle({
fill: new ol.style.Fill({
color: 'rgb(255,200,77)'
}),
stroke: new ol.style.Stroke({
color: 'rgba(0,0,0,.2)',
width: 1
}),
radius: 14
}),
text: new ol.style.Text({
font: 'light 10px Arial',
text: '1',
fill: new ol.style.Fill({color: 'black'}),
stroke: new ol.style.Stroke({color: 'black', width: 0.5})
})
}));
在将点符号与文本堆叠时,如果希望文本粘贴到符号上,则需要给每个点自己的zIndex(递增)。 参见http://jsfiddle.net/8g1vayvc/ 。 您也可以在样式函数中执行此操作:
var myStyle = new ol.style.Style({/*...*/});
var zIndex = 0;
function styleFunction(feature, resolution) {
myStyle.setZIndex(zIndex++);
return myStyle;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.