繁体   English   中英

根据leaflet.js中地图的缩放级别使用不同的JavaScript文件

[英]Using different JavaScript files based on map's zoom level in leaflet.js

因此,我尝试使用leaflet.js创建基于地图的可视化。 我想做的是对地图的不同缩放级别使用不同的GeoJSON文件。 例如,当缩小时,我只想显示州边界,而放大时,也要显示县边界。 我将GeoJSON作为.js文件中的JavaScript变量加载到主体中。 当我只想加载一个.js文件时,它工作正常,但是当我根据缩放级别动态更改.js文件时,我无法弄清楚如何使用区域GeoJSON动态制作另一个.js文件。可用数据。

我指的传单示例就是这个 我调查了许多有关动态.js文件加载的问题,但无济于事。

我使用map.on()属性来实现这一点。 代码如下:

map.on('zoomend', function(e) {
  if (map.getZoom() > 5) {
    $.getScript('js/reassign_districts.js', function(data, textStatus, jqxhr) {
      console.log(textStatus); // Success
      console.log("Districts loaded.");
      if (jqxhr.status == 200) {
        map.removeLayer(geojson);
        loadGeoJson();
      }
    });
  } else if (map.getZoom() <= 5) {
    $.getScript('js/reassign_states.js', function(data, textStatus, jqxhr) {
      console.log(textStatus); // Success
      console.log("States loaded.");
      if (jqxhr.status == 200) {
        map.removeLayer(geojson);
        loadGeoJson();
      }
    });
  }
});

尽管此处未定义,但某些变量和函数在其名称方面还是有意义的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM