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只是隱藏而不是清楚,重復造作會在地圖疊加多個覆蓋物
|
新聞熱點
疑難解答