【发布时间】:2022-07-14 02:51:18
【问题描述】:
我正在从传单地图迁移到 openlayers。 我的地图需要我现在显示大约 12k 标记,这个数量可能会增长到大约 60k(大多数标记都旋转了不同的角度)。
在传单中,经过多次尝试,我实现了这一点。我将leaflet-canvas-markers 与我自己的缓存实现结合起来,所以最后它能够显示 12k 项而没有任何明显的故障(在相对强大的计算机上)。
现在我正在尝试用 openlayers 重新实现它。
我看到 Icon 标记和 RegularShape 已经显示在画布上,这很酷,但性能仍然低于要求,这是 codepen 演示(例如,如果您的计算机太快,只需增加到 30k 标记):
https://codepen.io/zxwild/pen/KKyRRKv
问题是: 如何提高显示 15k-60k 标记的性能?
在我自己的实现中,我使用隐藏画布,其中包含所有可能的标记变体,并且旋转变体也被缓存。
因此,当我需要重绘标记时,我只需通过 X 和 Y 从该画布缓存中检索所需的部分并将其复制到地图画布中,这是一个非常快速的操作。
【问题讨论】:
标签: javascript leaflet openlayers openlayers-6