调整容器大小时 Mapbox-gl 闪烁 <div>

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

我正在开发一个功能,我们可以增加/减少 Mapbox-gl 容器 (),通过拖动 Mapbox 容器的任意角来调整大小。这就像增加/减少一个正方形/矩形框。但在增加/减小尺寸时它会闪烁。我使用的是mapbox gl js最新版本v2.6.1

但是,旧的 Mapbox API(版本 v3.3.1)不会发生闪烁

你能建议如何让 Mapbox gl js 获得流畅的体验吗

谢谢

mapbox-gl-js mapbox-gl
1个回答
0
投票

2024,使用 lodash.debounce

useEffect(() => {
  const debouncedResize = debounce(() => {
    mapRef.current?.resize();
  }, 0);

  const handleResize = () => {
    debouncedResize();
  };

  const resizer = new ResizeObserver(handleResize);

  if (mapContainerRef.current) {
    resizer.observe(mapContainerRef.current);
  }

  return () => {
    resizer.disconnect();
    debouncedResize.cancel();
  };
}, []);
© www.soinside.com 2019 - 2024. All rights reserved.