首页 > 设计 > WEB开发 > 正文

百度地图去掉marker覆盖物或者去掉maker的label文字

2019-11-02 18:23:17
字体:
来源:转载
供稿:网友

for(...){    var marker = new BMap.Marker(...);    map.removeOverlay(marker);//方法1    //marker.remove();//方法2    //如果是Marker设置的setLabel还可以设置其样式来隐藏    //mapComponent.state.bikeMarkLabel.setStyle({//方法3    // display:"none"    //});}这里有个坑,就是如果页面要渲染很多的marker,很可能会循环一个数组,如果这段逻辑处于循环中,每次marker或者label都是通过BMapnew出来的,那么就会清除不掉。

仔细想一下就会发现,上次循环渲染的Mark对象已经被释放掉了,最新一次是新new出来的,所以无效。另外建议使用方法1和方法2,方法3只是隐藏而不是清楚,重复造作会在地图叠加多个覆盖物
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表