首页 > 解决方案 > 根据传单js缩放级别添加一个类

问题描述

我的一张使用 Leaflet.js 的地图有问题。

我有一些元素以 6 或更高的缩放级别出现在地图上(作为参考,1 是世界视图 - 所以数字越高,视图越细化)。

当地图的缩放级别大于 6 时,我需要向一个类添加一个类,以确保它不会出现在地图上。我需要确保每次发生更改时都会不断加载该函数。我认为这是一个事件监听器?

问题是我不太擅长 javascript,我正在努力获取我需要的信息。我最近遇到了一些障碍,我的信心受到打击。

我有一些我写的伪代码。

    function myFunction() {
if zoom > 4 {
    element.classList.add("disappear");
}
};

var element = document.getElementById("dma-marker-icon leaflet-marker-icon leaflet-zoom-animated leaflet-clickable");
myFunction() // Call listener function at run time
addListener(myFunction) // Attach listener function on state changes

你能帮我完善一下吗?非常感谢。

标签: javascriptleaflet

解决方案


传单地图上有一个事件,在地图缩放更改后触发 - zoomend。因此,如果您侦听该事件,则可以相应地在目标元素上添加或删除该类。您没有显示太多代码,因此此处的变量名称可能与您的不匹配,但是...

myMap.on('zoomend', myFunction);

function myFunction(e) {
   if myMap.getZoom() > 4 {
    element.classList.add("disappear");    
 }
 else {
    element.classList.remove("disappear");
 }
}

推荐阅读