关于高德渲染大量多边形和圆形,如何优化?
发布于 4 年前 作者 MeetTheBest 3260 次浏览 来自 问答

目前的业务是需要在地图切换到某个城市时,渲染大量多边形和圆形(量多的话预计存在5000-10000个图层),直接全量输出到页面,页面超级卡顿甚至浏览器直接崩溃了,有遇到过类似场景的大佬么?有比较好的处理方案吗?请大佬们不吝赐教,感谢。

多边形/圆形数据,由后端提供,需要绘制类似如下的图形到地图上

高德多边形绘制地址

5 回复

目前我的处理方式是,遍历 + setTimeout 来进行分片渲染 ,应该还有更优解

可以从数据层面上考虑是否可以进行一下多边形的合并,而且多边形不应绘制在同一个图层里吗,5000-1000个多边形超出了sdk引擎的承受范围,即使渲染出来,交互的时候也会卡吧。 还有个办法是计算一下,只绘制可视区内的图形。

首先业务需求不是对多边形进行合并的,是对绘制的点位来进行数据分析的。 目前的处理方案如你所说,对数据过滤,绘制以中心点位10公里范围内的数据,这个方案确实可行,但是还有一点不足,就是无法查看整个城市级别的图层分布了,不过这个在业务上暂时不关心。

感谢大佬的分享哈~

一万个多边形应该不至于卡死把?

@chenkai0520 兄弟 3000左右的点位,浏览器已经有点卡顿了… 你可以到高德他们的官方的 demo 中去试一下哈

回到顶部