传单按缩放级别控制 Geojson 图层



只是在寻找一种通过缩放级别控制geojson图层的方法,例如minZoom,最大缩放的tileLayers,有什么想法吗?

描述:geojson点图层,不同类别的点,例如国家国会大厦,省议会大厦,省议会大厦,省议会大厦,其余简单城镇。目标:在变焦级别 4 仅显示国家国会大厦(仅显示一个点)在 Zoom Level 6 中,播放所有 24 个省议会大厦(您只会看到其中的一部分)在 Zoom 级别 8 显示 524 个省国会大厦(您只会看到其中的一部分)在缩放级别 10 显示其余城镇,同样的想法。

提前谢谢。杰克

在传单文档中查看地图事件。

您可以订阅"zoomend"事件以及"zoomstart"和其他一些事件

map.on('zoomend', function (e) {
    myZoomHandler();
});

在缩放处理程序函数中,循环遍历图层并根据需要添加或删除图层。

function myZoomHandler() {
    var currentZoom = map.getZoom();
    switch (currentZoom) {
        case 4:
         //show Capitols
        break;
        case 6:
         //show Provinces
        break;
        default:
         // etc
        break;
    }
}

传单有一个viewereset事件,该事件在地图更新时(加载时、缩放时)触发。您可以执行以下操作:

map.on('viewreset', function() {
   var zoom = this.getZoom();
   // show/hide layers based on zoom level
}, map);

显示/隐藏图层的一种方法是通过 L.GeoJSON 的setStyle()方法(使用 displayvisibility属性)。

最新更新