2

我正在研究一个中等大小(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文件中进行此子集化以加快我们的速度,还是可以像这样在客户端进行子集化?

提前致谢。

4

0 回答 0