【问题标题】:OpenLayers 3 Image and Text style zindexOpenLayers 3 图像和文本样式 zindex
【发布时间】:2015-05-19 18:04:10
【问题描述】:

我注意到文本和图像样式在渲染时似乎不尊重它们的层顺序。例如,当具有这些样式的许多特征靠近在一起时,所有文本都将呈现在其他重叠的矢量特征之上。有没有办法禁用或覆盖这种行为?谢谢。

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})
  })
}));

【问题讨论】:

标签: javascript openlayers-3


【解决方案1】:

在将点符号与文本堆叠时,如果您希望文本与符号保持一致,则需要为每个点赋予其自己的(增加的)zIndex。见http://jsfiddle.net/8g1vayvc/。您也可以在样式函数中执行此操作:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-16
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多