您好,登錄后才能下訂單哦!
這篇文章主要講解了“javascript刪除指定覆蓋物方法是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“javascript刪除指定覆蓋物方法是什么”吧!
百度地圖提供了清除所有覆蓋物的方法,也提供了刪除指定覆蓋物的方法。刪除所有覆蓋物不用多說,隨時用隨時刪除,代碼就一句:map.clearOverlays();
然而刪除指定覆蓋物,這個需求很多新人不容易實現。
原因:聲明過的變量,沒有獨立存儲下來,就不知道怎么找到這個變量,然后把這個變量作為參數傳進去執行刪除。
本文先提供一個刪除指定類型覆蓋物的方法:
// openGPS.cn提示: 刪除所有折線覆蓋物 function clearAllPolyline() { var allOverlay = map.getOverlays(); for (var i = 0; i < allOverlay.length; i++) { if (allOverlay[i].toString() == "[object Polyline]") { map.removeOverlay(allOverlay[i]); } } } // openGPS.cn提示: 刪除所有lable覆蓋物 function clearAllLable() { var allOverlay = map.getOverlays(); for (var i = 0; i < allOverlay.length; i++) { if (allOverlay[i].toString() == "[object Marker]") { map.removeOverlay(allOverlay[i].getLabel()); //注意獲取lable的方式 } } }
然后,在講講如何刪除特定覆蓋物,這里有個前提:在創建某個需要被操作的覆蓋物之前,需要為其賦值一個id。我的示例中,所有的Marker屬性都是用 marker.imei = "xxxxxx"; 的方式為Marker對象賦值了一個id(tip:請記住js語法特點,直接屬性賦值就可以用),遍歷的時候配合對該id的檢查實現刪除該覆蓋物。
/* openGPS.cn提示: 我的示例中,所有的Marker屬性都是用 marker.imei = "xxxxxx"; 的方式為Marker對象賦值了一個id 因此,我的寫法是: 先獲取全部覆蓋物: 然后判斷覆蓋物是否是Marker類型: 然后判斷是否是我要刪除的id(imei): 然后拿到目標對象,執行刪除操作 */ function getMapMarker(imei) { var reMarker = null; var allOverlay = map.getOverlays(); for (var i = 0; i < allOverlay.length; i++) { if (allOverlay[i].toString() == "[object Marker]") { if (allOverlay[i].getTitle() == imei) { reMarker = allOverlay[i]; break; } } } return reMarker; }
感謝各位的閱讀,以上就是“javascript刪除指定覆蓋物方法是什么”的內容了,經過本文的學習后,相信大家對javascript刪除指定覆蓋物方法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。