【问题标题】:Openlayers zoom in or outOpenlayers 放大或缩小
【发布时间】:2012-09-27 21:13:20
【问题描述】:

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

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();
}});

【问题讨论】:

  • 找到了使用特征几何边界的解决方法

标签: zooming openlayers openstreetmap sproutcore


【解决方案1】:

找到了一种使用几何边界的变通方法,效果很好:

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();
}});

【讨论】:

    猜你喜欢
    • 2016-10-23
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多