问题描述
我在过滤时有一个 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 (将#修改为@)