Openlayers标签重叠

时间:2015-08-04 18:18:54

标签: openlayers-3

我有一张带有几个标记的地图,这些标记都有一个标签,表示该标记点的数据。当这些标记重叠时,标签始终位于所有标记的顶部。我想只显示顶部标记的标签。如果现在两个标记重叠,则底部标记的标签仍显示在顶部标记上方。有谁知道如何在openlayers 3中解决这个问题?

1 个答案:

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