文本似乎不尊重图像的zIndex。如果在同一个坐标中有多个点(堆叠的点),则每个点的文本将在彼此之上渲染,并中断设计。

有没有办法使图像和文本尊重其相同的zIndex位置?

我找到了这个OpenLayers 3 Image and Text style zindex,但是它没有提供解决方案

这是我的代码:

new ol.style.Style({
            image: new ol.style.Circle({
                radius: 3,
                scale: 0.5,
                fill: new ol.style.Fill({
                    color: 'green'
                })
            }),
            text: new ol.style.Text({
                font: 'helvetica,sans-serif',
                text: 'here is the text',
                fill: new ol.style.Fill({
                    color: 'white'
                })
            }),
            zIndex: 10
        })

最佳答案

在将点符号与文本堆叠时,如果希望文本粘贴到符号上,则需要给每个点自己的(递增)zIndex。请参见http://jsfiddle.net/8g1vayvc/。您也可以在样式函数中执行此操作:

var myStyle = new ol.style.Style({/*...*/});
var zIndex = 0;
function styleFunction(feature, resolution) {
  myStyle.setZIndex(zIndex++);
  return myStyle;
}

关于javascript - OpenLayers 3点文字zIndex,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36036448/

10-12 20:07