Javascript 如何使用nouislider中的滑块过滤传单.js上的聚集标记
我在地图上有集群标记,我正在使用一个名为nouislider的库作为我的滑块。我使用它来根据指定的距离范围显示某些标记 我得到了这个工作的标记,但没有运气聚集标记。它正在删除所有群集标记,而不是对其进行筛选。我不知道该怎么做。如果有人能指引我正确的方向,我将不胜感激 这是我代码的链接。请记住,我无法让滑块显示在Jfiddle上,并且在那里也出现了一个错误——“L.geoJson不是一个函数” 这是我的过滤器,它适用于标记,但不适用于聚集标记,我认为问题是我没有过滤聚集标记,我不知道如何做Javascript 如何使用nouislider中的滑块过滤传单.js上的聚集标记,javascript,leaflet,nouislider,leaflet.markercluster,Javascript,Leaflet,Nouislider,Leaflet.markercluster,我在地图上有集群标记,我正在使用一个名为nouislider的库作为我的滑块。我使用它来根据指定的距离范围显示某些标记 我得到了这个工作的标记,但没有运气聚集标记。它正在删除所有群集标记,而不是对其进行筛选。我不知道该怎么做。如果有人能指引我正确的方向,我将不胜感激 这是我代码的链接。请记住,我无法让滑块显示在Jfiddle上,并且在那里也出现了一个错误——“L.geoJson不是一个函数” 这是我的过滤器,它适用于标记,但不适用于聚集标记,我认为问题是我没有过滤聚集标记,我不知道如何做
var slider = document.getElementById("slider");
noUiSlider
.create(slider, {
start: [min + 1, max - 1],
tooltips: true,
connect: true,
range: {
min: min,
max: max
}
})
.on("slide", function(e) {
console.log("e", e);
surfSpotsGeoJSON.eachLayer(function(layer) {
console.log("layer", layer);
if (
parseFloat(layer.feature.properties.distance) >=
parseFloat(e[0]) &&
parseFloat(layer.feature.properties.distance) <=
parseFloat(e[1])
) {
layer.addTo(map);
} else {
map.removeLayer(layer);
}
});
});
})
.catch(err => console.log(err.message));
}
var slider=document.getElementById(“slider”);
努伊斯利德
.创建(滑块{
开始:[最小值+1,最大值-1],
工具提示:正确,
连接:是的,
范围:{
敏:敏,,
马克斯:马克斯
}
})
.on(“幻灯片”,功能(e){
控制台日志(“e”,e);
surfSpotsGeoJSON.eachLayer(函数(层){
控制台日志(“层”,层);
如果(
parseFloat(层.特征.属性.距离)>=
parseFloat(e[0])&&
parseFloat(layer.feature.properties.distance)console.log(err.message));
}
您可能会对我的插件感兴趣:
用于传单.markercluster插件的子插件(简称MCG);与L.Control.Layers和其他传单插件兼容。即,所有使用直接调用map.addLayer
和map.removeLayer
的插件
另见
在您的情况下,您可以签入您的
surfSpotsGeoJSON
传单GeoJSON层组,插件应该负责其余部分。您可能会对我的插件感兴趣:
用于传单.markercluster插件的子插件(简称MCG);与L.Control.Layers和其他传单插件兼容。即,所有使用直接调用map.addLayer
和map.removeLayer
的插件
另见
在您的情况下,您需要签入surfSpotsGeoJSON
传单GeoJSON层组,插件应该负责其余部分