我们目前正在尝试将我们的应用程序从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文本样式和更新版本实现可扩展单元的方法?或者不建议在这种情况下使用可缩放字体?
答案 0 :(得分:1)
文本渲染系统在v4.4.0中完全重写,以获得更好的性能。您看到的差异来自于文本现在预渲染到单独的画布,而不会从DOM继承任何CSS。因此,无论您在身体中有font-size
(或任何影响地图容器的CSS),地图上呈现的em
文本将始终基于所使用的默认font-size
字体。