如何在openlayers上显示缩放级别(仅限js / html文件)?

时间:2013-06-06 18:12:11

标签: javascript gis openlayers

寻求一些帮助。我知道这是

的内容
new OpenLayers.Control.ZoomStatus({
  autoActivate: true
})

还希望为缩放状态添加div:或者最佳方法是什么?

如果有人可以提供一些见解,我们将不胜感激。无法在文档中找到答案。

2 个答案:

答案 0 :(得分:3)

我不相信当前版本的openlayers已经实现了这种控制。

最好的方法是在地图上添加自己的元素以显示缩放级别并使用

map.getZoom()

计算缩放级别以显示它。有两种方法可以接近它。一个ios扩展OpenLayers.Control.Zoom类并将自己的函数添加到绘制onZoomClick功能。然后将控件添加到地图中以代替Normal OpenLayers.Control.zoom

第二种方法是向地图添加一个事件以捕获缩放事件并更新元素以在那里显示缩放级别。为此,您可以在地图上使用map.events.register()调用。

执行更新的代码应该类似于

 var zoomLevel = map.getZoom();
  document.getElementById('ZoomElement').innerHTML =  'Current Zoom: ' + zoomlevel + 'of ' + (map.numZoomLevels + 1);

答案 1 :(得分:0)

为OL6更新@Darkcylde。 getZoom在“立即查看”上起作用。

我添加了十分之一的缩放比例。而且我只显示数字,但这只是一个小变化

map.on('rendercomplete',function(e) {
  var zoomLevel = map.getView().getZoom();
  var zoomRounded = Math.round(zoomLevel*10)/10;
  document.getElementById('ZoomElement').innerHTML = zoomRounded;
})