在 Angular 上以编程方式在 Leaflet 中的层之间切换

Switching programmatically between layers in Leaflet on Angular

我必须在 Angular 上显示不支持 Leaflet 中所有缩放级别的图层。这些是从外部服务器加载的 WMTS 图层。

参见下面的示例:

Zoom-Level 12

Zoom-Level 13

如何以编程方式切换到支持相应缩放层的层以保持使用流? 并不是每个缩放级别都支持图层,用户很难清楚地理解。

使用的图层配置如下:

var baseMap = new L.TileLayer(
   'https://wmts.url.tld/{z}/{x}/{y}.png',
   {
      maxZoom: 15,
      attribution: '© source',
});

侦听 zoomend 事件,如果缩放更大/更小,则添加/删除图层。

var MIN_LAYER_ZOOM_LEVEL = 14; // Zoom level until layer is visible

map.on('zoomend',(e)=>{
   var currentZoom = map.getZoom();
   if(currentZoom >= MIN_LAYER_ZOOM_LEVEL){
      baseMap.addTo(map)
   }else{
       baseMap.removeFrom(map) 
   }
});