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

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

我在下图中绘制了预期的结果:
Expected result

有人有主意吗?也许不使用ol.style文本?

最佳答案

要走的路是a style function。参见demo 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/

10-15 23:39