【问题标题】:leaflet legend change according to zoom传单图例根据缩放变化
【发布时间】:2017-02-16 23:11:48
【问题描述】:

我正在以不同级别更改地图的详细程度,并且我想以不同的缩放级别分配不同的图例。在传单中可以吗?

【问题讨论】:

    标签: javascript html leaflet


    【解决方案1】:

    是的,您可以为您的图层编写一个 onEachFeature,然后检查缩放级别并相应地执行操作。

    【讨论】:

    • 您能举个例子吗?我很陌生。
    • 你能把你的代码sn-p贴出来让我修改
    • 函数 onZoomend() { var currentZoom = map.getZoom(); // 在这里你得到你当前的缩放 // 现在你可以根据缩放级别添加你的条件 }; map.on('zoomend', onZoomend);
    • var legend = L.control({position: 'bottomright'}); legend.onAdd = function (map) { var div = L.DomUtil.create('div', 'info legend'), grades = ["imagea", "imageb"], labels = ["imagea.png","图像b.png"]; div.innerHTML += 'Legend Title
      ' // 不要忘记 (var i = 0; i '; } 返回分区; }; legend.addTo(map);
    • 你提到的代码,我已经在使用了,但是用于图层而不是图例。
    【解决方案2】:

    我现在意识到这是一个非常简单的问题。我只需要写“删除控制”:

    map.on('zoomend', onZoomend);
    function onZoomend(){
    if(map.getZoom()>13){  
    map.removeControl(legend0);}    
        };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-26
      • 2011-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多