百度地图添加大量标记点卡顿解决思路

需求

即能加载多个点,又能加载海量点,又能经常切换mark点,在尝试了多种方式之后,用下面的方式满足了条件

思路 :通过setTimeout 实现步加载

 let max = 500 // 设置一次性加载的最大值。
    for (let i = 0; i < Math.ceil(len / max); i++) {
      setTimeout(() => {
        this.addMarkers(i * max, (i + 1) * max, list)
      }, i * 10 * 50) 
    }

这样既完美满足了使用场景,点数太过多的时候,会有一点慢,建议使用其他方式

7月更新

数据越来越多了,现在线上超过6000点,上面的方式不够用了,特地来更新一下

需求变了 当时产品保证不超过5000点

点太多了,使用百度提供的聚合点吧,完美兼容自定义信息窗体,点击事件等需求。

https://lbsyun.baidu.com/jsdemo3.0.htm#js3_11

目前的缺点是,不能使用GL1.0API,只能在2dAPI3.0下使用 改造也比较简单。2w点不卡。

posted @ 2022-11-22 22:53  MyKai  阅读(1550)  评论(0)    收藏  举报