Openlayers 4.4.0+文本样式无法识别可扩展单元(Ems)

时间:2017-11-07 00:30:44

标签: openlayers

我们目前正在尝试将我们的应用程序从Openlayers v4.2.0升级到v4.4.2,我们在使用font属性中的可伸缩单元(Ems)显示文本样式时遇到问题。以下是用于创建文本样式的代码段。

var fill = new ol.style.Fill({ color: "black" });
var textStyle = new ol.style.Text({
  text: "A",
  font: "normal 1em Lato",
  textBaseline: 'bottom',
  fill: fill
});

this CodePen中我使用的是版本4.3.4,文本与正文中指定的字体大小相匹配。

this CodePen中我使用的是4.4.0版,文字要小得多。我相信它使用this文档中指定的font默认属性值10px sans-serif

我的font属性值是否有错误的操作?或者是否有另一种使用Openlayers文本样式和更新版本实现可扩展单元的方法?或者不建议在这种情况下使用可缩放字体?

1 个答案:

答案 0 :(得分:1)

文本渲染系统在v4.4.0中完全重写,以获得更好的性能。您看到的差异来自于文本现在预渲染到单独的画布,而不会从DOM继承任何CSS。因此,无论您在身体中有font-size(或任何影响地图容器的CSS),地图上呈现的em文本将始终基于所使用的默认font-size字体。