【问题标题】:Do not refresh Mapbox tile source until map is idle在地图空闲之前不要刷新 Mapbox 瓦片源
【发布时间】:2022-08-19 16:02:04
【问题描述】:

我正在使用 Mapbox GL API V2。

我正在加载这样的第 3 方图块:

    map.addSource(\'test\', {
        \'type\': \'vector\',
        \"tiles\": [
            \"http://mytileserver/tiles/test/{z}/{x}/{y}\"
        ]
    });

这很好用 - 除了用户平移/拖动地图时,瓷砖正在不断加载。如此之多,以至于瓷砖服务器无法跟上。

我在 Mapbox 中添加了以下事件:

map.on(\'movestart\', () => {
    map.setLayoutProperty(\'test\', \'visibility\', \'none\');
});

map.on(\'moveend\', () => {
    map.setLayoutProperty(\'test\', \'visibility\', \'visible\');
});

这非常有效,因为它可以防止在用户完成拖动地图之前加载图块。但是,为了实现这一点,它会使现有的图块暂时不可见,直到地图停止移动。这并不理想。

当地图被移动/平移时,是否有任何方法可以将现有图块保留在屏幕上 - 但(至关重要)直到moveend 事件发生之前才真正更新图块?

谢谢!

    标签: javascript maps mapbox mapbox-gl-js


    【解决方案1】:

    我遇到了类似的问题,瓷砖服务器运行缓慢,Thomas 你发现这个问题有什么改进吗?如果是这样,我很乐意看到您的解决方案!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多