ESRI leaflet featurelayer 渲染存在长时间滞后

问题描述 投票:0回答:1

我正在从传单上的以下 Web 服务器渲染流程:

“https://watersgeo.epa.gov/arcgis/rest/services/NHDPlus_NP21/NHDSnapshot_NP21/MapServer/0”;

这是一个复杂的图层,我仅在缩放级别大于 9 时才打开渲染。

95% 的情况下它工作正常,但缩放后偶尔会出现极端的滞后。例如,最近界面滞后了21秒。

        const FLOWLINES_LAYER = L.esri.featureLayer({
            url: URL_NP21_FLOWLINES,
            onEachFeature: FLonEachFeature,
        });

我在 DevTools 中进行性能分析,它显示了 XHR 就绪状态更改下的 21 秒任务 - 时间可追溯到 arcgisToGeoJSON 和 ConvertRingstoGeoJSON。

DevTools Performance

我正在使用最新版本的 ESRI leaflet (3.0.12)。

两个问题——这种滞后可以减少或消除吗?

也许更重要的是,我怎样才能捕捉到这种滞后发生的时间,并用“等待”鼠标光标提醒用户。我认为一个应用程序冻结 20 秒就完成了。实际上,我并不介意罕见的延迟,因为我们要求大量传单,并且网络服务有时很慢。但我强烈希望能够抓住这种滞后并提醒用户保持信心。

谢谢

performance leaflet lag esri-leaflet
1个回答
0
投票

关于第二个问题,添加开始加载和完成加载的事件监听器将为应用程序提供等待光标。


        // Event listener for when layer starts loading
        FLOWLINES_LAYER.on('loading', function () {
            // Change cursor to 'wait' when loading starts
            document.getElementById('map').style.cursor = 'wait';
        });

        // Event listener for when layer finishes loading
        FLOWLINES_LAYER.on('load', function () {
            // Revert cursor back to default when loading finishes
            document.getElementById('map').style.cursor = '';
        });
© www.soinside.com 2019 - 2024. All rights reserved.