高德地图,局部刷新标记点,遇到的奇怪bug解决方案

把接口返回的经纬度集合点,在高德地图上标记展示,这个需求估计大家都不陌生

但是存在一个问题,那就是加载地图消耗的带宽过多,所以就需要优化方案

当然,首先想到的,就是,地图只初始化加载一次,局部更新标记点就好了!

根据这个需求方案,我们开始开发





上面代码解决了两个bug, bug总是不经意间出现,比如,明明每次执行setMarker()时都会 this.markers = [],

按道理说,标记点应该是要更新的,而且并删除掉以前的旧点,然后发现事实并非如此,旧点和新点都同时出现,

而且随着叠加,越来越多,这问题就来了,这时记得queryLocation()调用前强行删除点 this.cluster.Ra = [],

然后发现点集合虽然每次都更新了,但视图依旧是老问题,这当然也难不倒我们,发现只要缩放一下地图就正常了,

可能是高德地图加载视图没更新,还需要触发才行,这好办

通过 this.map.getZoom()获取当前缩放级别,然后通过 this.map.setZoom()设置缩放,就刷新了视图,好了,问题解决

你可能感兴趣的:(高德地图,局部刷新标记点,遇到的奇怪bug解决方案)