如何在不破坏浏览器的情况下编辑大型多边形



我有一个多边形,它由一条带有12.5K点的路径组成。当我将其标记为可编辑shape.setEditable(true)时,我的选项卡的内存使用量飙升至约800M,直到浏览器终止该进程。

我注意到,将一个只有大约1K点的较小多边形标记为可编辑需要一段时间来处理,并占用大约100M的内存。我估计花在计算中点以及为所有节点和中点分配对象和事件处理程序上的时间。

有没有一种方法可以在不占用太多内存的情况下编辑大形状?

谷歌地图制作有一个相关的问题,有人建议标记多边形的特定部分进行编辑。如果没有办法解决这个问题,我想我会试试的。

我创建了gmaps大型多边形库来解决这个问题。当多边形标记为可编辑时,它会将多边形的路径拆分为给定大小的线段,并且一次只允许编辑一个线段。这可以防止同时为整个多边形渲染数千个编辑顶点,从而耗尽所有内存。

相关内容

最新更新