微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何优化传单 eachLayer 方法javascript

如何解决如何优化传单 eachLayer 方法javascript

我在过滤时有一个 drop down list(例如)by lanes 根据 lanes values 显示不同的颜色。这是一个示例 https://jsfiddle.net/5ptfuqk9/ 问题是由于庞大的道路网络,需要很多分钟才能实现。 有没有办法优化这个函数,特别是循环数据的 each layer method ? 任何帮助表示赞赏,

function linkDropDown(){
  // Remove any prevIoUs legend
  d3.select('#linkLegendSvg').remove();

  if (linkSelector.value ==="lanes"){
       var data = geo_json_6e3c60c8b0b046c1a06eb56942730a3a.toGeoJSON().features
       var Roads = geo_json_6e3c60c8b0b046c1a06eb56942730a3a

      //Get min and max values
      var max = d3.max(data,function(d){
          return d.properties.lanes;
      });

      var min = d3.min(data,function(d){
        return d.properties.lanes;

      });

      let colorscale = d3.scaleSequential()
          .domain(d3.extent(arrayObject))
          .interpolator(d3.interpolateOranges);

      drawLinkLegend(arrayObject,colorscale,min,max);

      Roads.eachLayer(function (layer) {
          layer.setStyle({fillColor: colorscale(layer.feature.properties.lanes)})
          
        });
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。