javascript - 指定 geoJSON 图层属性的传单设置缩放级别

标签 javascript leaflet zooming geojson

我想为传单中的某些指定 geoJSON 属性层设置单独的缩放级别。

我使用了以下代码(根据此过程的延续): Setting zoom level for layers in leaflet

   map.on('zoomend', function() {
   if (map.getZoom() <6){
        map.removeLayer(mylayer);
     }else{
    map.addLayer(mylayer);
    }
  });

哪个适用于 geoJSON 层? 当缩放比例低于 6 时,图层消失。

我想对这个 GeoJSON 层中包含的一些 feature.property 做同样的事情。

然后我尝试了这样的事情:

  map.on('zoomend', function() {
      if (map.getZoom() <8){
        map.removeLayer(feature.properties.Capacity>=40);
       }else{
        map.addLayer(feature.properties.Capacity>=40);
        }
       });

但不幸的是,结果很糟糕。当上下翻转缩放级别时,我的所有点都在 map 上 float ,而不是工作功能。

控制台状态:

Uncaught ReferenceError: feature is not defined at i. ((index):173) at i.fire (leaflet.js:5) at i._moveEnd (leaflet.js:5) at i. (leaflet.js:5) (anonymous) @ (index):173 fire @ leaflet.js:5 _moveEnd @ leaflet.js:5 (anonymous) @ leaflet.js:5 requestAnimationFrame (async) M @ leaflet.js:5 _onZoomTransitionEnd @ leaflet.js:5 setTimeout (async) _animateZoom @ leaflet.js:5 (anonymous) @ leaflet.js:5 requestAnimationFrame (async) M @ leaflet.js:5 _tryAnimatedZoom @ leaflet.js:5 setView @ leaflet.js:5 setZoomAround @ leaflet.js:5 _performZoom @ leaflet.js:5 setTimeout (async) _onWheelScroll @ leaflet.js:5 s @ leaflet.js:5 2

我不太明白,因为 geoJSON 层已被提取到 map 中。

你能帮我解决这个问题吗? enter image description here

我正在寻找的东西很接近:

https://gis.stackexchange.com/questions/41928/adding-removing-leaflet-geojson-layers

https://gis.stackexchange.com/questions/239795/leaflet-remove-filtered-layer

这让我进行了第三次尝试,不幸的是没有成功

  map.on('zoomend', function() {
     if (map.getZoom() <6){
    if (feature.properties.Capacity >=40){
        map.removeLayer(feature.properties.Capacity);
     }else{
     map.addLayer(feature.properties.Capacity);
     }
   });

您可以在此链接下看到我的另一个尝试: https://gis.stackexchange.com/questions/341684/leaflet-setting-zoom-level-for-a-specified-geojson-layer-feature

最佳答案

看起来动画有问题,只需将 zoomanimation 设置为零即可。

https://leafletjs.com/reference-1.6.0.html#map-zoomanimation

关于javascript - 指定 geoJSON 图层属性的传单设置缩放级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58957291/

相关文章:

javascript - 如何使用图标栏更改 Div 的内容?

javascript - Extjs 将 xml 文件属性加载到存储中

javascript - 有没有办法停止 dojo onBlur 事件处理程序中的所有其他事件?

Javascript window.open 在 Windows7 中不聚焦

javascript - 在 Leaflet 中添加标记

javascript - PDF 作为 Leaflet JS 中的 map ?

javascript - Mapbox/leaflet.js 更改悬停时标记的颜色

javascript - 缩放一张图像会影响另一张图像

ios - 如何缩放填满屏幕的 UIImageView

android - 尝试实现 2 手指缩放