今天做了百度地图的一个点聚合,要求实时刷新,实现功能后 现场反应 久了之后会卡顿。。。。一顿好找,弄了很久。。。优化js 代码 ,但是最关键的 一点是 定义
var markerClusterer = new BMapLib.MarkerClusterer(map);之后 添加了makers (这里建议 如果只是地图功能的话,把makerCluster放全局变量,只是建议)
markerClusterer.addMarkers(markers);
重点: 在设置了定时器出现问题之后 我深入 makerCluster的js源码 ,
是有清空 上次的痕迹的。。。那么为什么会卡。。。后来发现 我的makers 你要清空。。。记住,不要试图去清空数组。。我去清空makers的数组 发现 其实并不是(没用!),按照我的理解是它加入了makers (理论是 根据那个方法 放上去了~~~自己猜测) 后来看api半天。。发现有个方法。。
就是这一个方法。每次写入数据前,先执行清空makers。。。全部搞定~~~~ 还是怪自己 看api不仔细吧~~以后加油,主要是在网上没有找到这类解决的方法, 我的情况是能够解决的。。。希望对大家有帮助