百度地图添加大量标记点卡顿解决思路
需求
即能加载多个点,又能加载海量点,又能经常切换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 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步