javascript - OpenLayers 3 - 在 map 上显示文本,文本大小相对于缩放

标签 javascript openlayers-3

我目前正在研究 OL3 并尝试在我的 map 上显示文本。没问题,我正在使用 ol.style 的文本属性来显示它。

我的问题如下:此文本的大小始终相同。即:如果我正在取消最大缩放或最大缩放,它在屏幕上的大小仍然相同。我希望它在缩放时变大,在取消缩放时缩小以保持文本相对于地面的大小。

我把预期的结果画成下图: Expected result

有人有想法吗?也许不使用 ol.style 文本?

最佳答案

要走的路是a style function .查看演示 fiddle .

var style = function () {
  var zoom = map.getView().getZoom();
  var font_size = zoom * 10; // arbitrary value

  return [
    new ol.style.Style({
      text: new ol.style.Text({
        font: font_size + 'px Calibri,sans-serif',
        fill: new ol.style.Fill({ color: '#000' }),
        stroke: new ol.style.Stroke({
          color: '#fff', width: 2
        }),
        text: 'Some text!'
      })
    })
  ];
};

关于javascript - OpenLayers 3 - 在 map 上显示文本,文本大小相对于缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39246125/

相关文章:

javascript - 拆分变量中定义的单词

javascript - mongodb 驱动程序文档中的 node.js 断言模块

javascript - 如何将 2 个 OpenLayer 标记动画添加到页面? Clickevent似乎被覆盖了

javascript - openlayers 3 中带有标签或文本的图标,偏移量

javascript - Openlayers 3 获取图层范围

javascript - 无法正确验证javascript中的用户输入

javascript - 如何在javascript中重命名数组中对象的属性?

javascript - Three.js - 如何检测选择了什么形状?拖动后

openlayers-3 - 从选择ol3中获取特征信息

javascript - 如何在OL3中动画后获得 'end'分辨率?