OpenLayers 5向文本添加条件样式

时间:2019-04-03 12:55:30

标签: angular typescript openlayers openlayers-3 openlayers-5

我试图将条件样式化的文本添加到要放置在地图上的矢量对象上。

我有一个服务来创建看起来像这样的“样式”

let myStyle = new Style(
    {
        fill: new Fill({color: Shade}),
        stroke: new Stroke({color: 'black',width:1}),
        text: new Text({text:Label})

    }) 

这可行,但我似乎无法弄清楚如何根据分辨率有条件地设置样式和显示/隐藏。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

您将需要使其成为样式函数,例如:

let myStyle = function(feature, resolution) {
  if (resolution < myCondition) {
    return new Style(
      {
        fill: new Fill({color: Shade}),
        stroke: new Stroke({color: 'black',width:1}),
        text: new Text({text:Label})

      });
  }
}