千里之行,始于足下.|

MyKai

园龄:4年5个月粉丝:0关注:17

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

需求

即能加载多个点,又能加载海量点,又能经常切换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点不卡。

本文作者:MyKai

本文链接:https://www.cnblogs.com/mykai/p/16916807.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   MyKai  阅读(1491)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起