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只是隐藏而不是清楚,重复造作会在地图叠加多个覆盖物
新闻热点
疑难解答