【问题标题】:How can I edit large polygons without crashing the browser?如何在不崩溃浏览器的情况下编辑大多边形?
【发布时间】:2013-12-17 23:56:32
【问题描述】:

我有一个由具有 12.5K 点的单个路径组成的多边形。当我将其标记为可编辑shape.setEditable(true) 时,我的标签页的内存使用量猛增到大约 800M,直到浏览器终止该进程。

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

有没有办法在不占用太多内存的情况下编辑大形状?

Google 地图制作工具有(有?)a related problem,其中有人建议标记多边形的特定部分以供编辑。如果没有办法解决这个问题,我想我会尝试。

【问题讨论】:

    标签: memory-management google-maps-api-3


    【解决方案1】:

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

    【讨论】:

    • 这是一种纯粹的天才方法。我一直在寻找提高 1,000 多个点多边形性能的方法,并投入了一些时间来制作自己的画布绘图。你的解决方案太棒了!
    猜你喜欢
    • 2018-01-21
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多