只是在寻找一种通过缩放级别控制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()
方法(使用 display
或visibility
属性)。