我正在研究一个中等大小(6000 pts)的空间数据集,它有 48 个子集,每个子集由 125 个点组成。我正在使用 Leaflet,我在 GeoJSON 中有数据,并且我正在使用LeafletSlider作为滑块。
我遇到了一个问题,那就是数据是增量添加的,而不是作为子集添加的。换句话说,在使用滑块递增值时,我希望每一步都删除前 125 个点并添加下一个 125。
这是我正在使用的 Dennis Wilhelm 的LeafletSlider中滑块的代码:
startSlider: function () {
options = this.options;
$("#leaflet-slider").slider({
value: options.minValue + 1,
min: options.minValue,
max: options.maxValue +1,
step: 1,
slide: function (e, ui) {
if(!!options.markers[ui.value]) {
if(options.markers[ui.value]) $('#slider-timestamp').html(options.markers[ui.value].feature.properties.time.substr(0, 16));
for (var i = options.minValue; i < ui.value ; i++) {
if(options.markers[i]) map.addLayer(options.markers[i]);
}
for (var i = ui.value; i <= options.maxValue; i++) {
if(options.markers[i]) map.removeLayer(options.markers[i]);
}
}
}
});
map.addLayer(options.markers[options.minValue]);
}
我不确定如何修改它以实现此功能。我是否首先将每个符合ui.value
条件的点分组到一个 LayerGroup 中,然后添加?如果是这样,我不确定如何修改此代码以实现这一目标?如何确保删除之前的图层组?我应该在传递给我们的geojson文件中进行此子集化以加快我们的速度,还是可以像这样在客户端进行子集化?
提前致谢。