我开发的是一个类似于查看实时公交的微信小程序。其中会涉及到使用markers在地图中标注车辆的实时位置并在Map组件显示。我的逻辑是拿到车辆最新的位置后先将原来的markers清除,之后将最新的位置添加到markers中。但问题是地图中依旧会保留显示前一个的位置坐标,清除不掉(如图所示)造成同一辆公交车在地图中显示了两个位置。使用console.log(this.data.markers)看到只有最新的车辆id,并无原先的位置坐标。
同时这个问题只在使用真机预览、以及发布到线上的版本中才会偶尔出现。使用开发者工具内的预览则正常。
网络查询发现https://developers.weixin.qq.com/community/develop/doc/976322345589bc35a7e458dc20e2c344?highLine=markers%25E6%25AE%258B%25E7%2595%2599 在2017年有人报了类似的问题,我使用这篇帖子中的临时方案“每次更新的marker id都设置成数组下标可以暂时解决”无效,所以想了解一下这个问题是否有最新的解决方案呢~
我也遇到过类似的问题,我的是因为太频繁的更新标记位置导致的,我设了个延时,降低更新频率后就没有了。不知道是Bug还是手机性能的问题