map组件的markers不刷新问题
发布于 5 年前 作者 yangding 3034 次浏览 来自 问答

在wxml中定义map及其属性markers,如下:

<map id="map" markers="{{markers}}" show-location style="width: 100%; height: 300px" bindregionchange="bindRegionChange" controls="{{controls}}"></map>

在js中使用setData更新markers数据后,地图上的markers并没有刷新,残留了上一次的markers。之前还没有这种问题,是不是基础库更新造成的bug呢?

9 回复

建议确定下item是不是整数数值,字符串是不行的

我这里设置了,还是解决不了

已知问题,每次更新的marker id都设置成数组下标可以暂时解决,我们尽快修复

请问楼主解决了吗,我也遇到了这个问题,求解

妈蛋,我也遇到这个问题了,ver 1.6.6 版本 还没解决这个bug

按照2楼官方的方案,设置marker的id为数组下标,是没问题的。@阳关下的岁月,你再查查问题看。

var marks = [];

       markersData = res.data[“data”];

       for (var item in markersData)

       {

         console.log(“item=” + item);

         var markerItem = {

           id: item,

           latitude: markersData[item].latitude,

           longitude: markersData[item].longitude,

           iconPath: “…/img/marker.png”,

           width: 22,

           height: 32

         };

         marks.push(markerItem);

       }

上面是我的源码,设置了ID为下标,还是不行

是整数值,

。这个问题在开发工具那个环境下运行是没问题的,在线上或者用手机预览的时候会有问题。

也同样遇到这个问题,微信6.5.14版本还是正常的,微信一升级到最新版本就不行了,求解?

回到顶部