【发布时间】: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