Openlayers缩放地图

3

我对Openlayers很陌生,想知道是否有一种方法或事件可以返回缩放方向,例如onzoomin/onzoomout事件。我正在使用sproutcore 1.0,并尝试根据缩放级别修改要素字体。我尝试使用Rules,但根据应用程序结构,这并不起作用。下面是我想做的示例事件:

this.map.events.on({ "zoomend": function (e) {
  var sub = 0;
  if (ZOOMOUT){
    sub = this.getZoom();
  } else {
    sub = this.getZoom() * -1;
  }
  var font = myFeature.layer.styleMap.styles['default'].defaultStyle.fontSize;
  font = font + sub*10;
  myFeature.layer.redraw();
}});

找到了一个解决方法,使用几何边界特性。 - Marwa Hack
1个回答

2

发现了一种使用几何边界的解决方法,可以得到很好的结果:

this.map.events.on({ "zoomend": function (e) {
    var width = myFeature.geometry.bounds.right - myFeature.geometry.bounds.left;
    var div = 0;

    if (this.getZoom() > 12) {
        div = 4;
    } else {
        div = 6;
    }
    myFeature.layer.styleMap.styles['default'].defaultStyle.fontSize = (width/((15 - this.getZoom())+1)) / div).toString() + "px"; 
    myFeature.layer.redraw();
}});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接