繁体   English   中英

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

[英]How to show zoom level on openlayers (js/html file only)?

寻求这方面的帮助。 我知道这是类似的东西

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

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

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

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

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

map.getZoom()

计算出显示它的缩放级别。 你可以通过两种方式来处理它。 一个用于扩展 OpenLayers.Control.Zoom 类并将您自己的函数添加到绘制 onZoomClick 函数的 ios。 然后将您的控件添加到您的地图中,以代替 Normal OpenLayers.Control.zoom

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

执行更新的代码应如下所示

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

为 OL6 更新 @Darkcylde。 getZoom现在作用于 View。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM