您好,登錄后才能下訂單哦!
這篇文章主要講解了“javascript刪除指定覆蓋物方法是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“javascript刪除指定覆蓋物方法是什么”吧!
百度地圖提供了清除所有覆蓋物的方法,也提供了刪除指定覆蓋物的方法。刪除所有覆蓋物不用多說(shuō),隨時(shí)用隨時(shí)刪除,代碼就一句:map.clearOverlays();
然而刪除指定覆蓋物,這個(gè)需求很多新人不容易實(shí)現(xiàn)。
原因:聲明過的變量,沒有獨(dú)立存儲(chǔ)下來(lái),就不知道怎么找到這個(gè)變量,然后把這個(gè)變量作為參數(shù)傳進(jìn)去執(zhí)行刪除。
本文先提供一個(gè)刪除指定類型覆蓋物的方法:
// 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提示: 刪除所有l(wèi)able覆蓋物 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的方式 } } }
然后,在講講如何刪除特定覆蓋物,這里有個(gè)前提:在創(chuàng)建某個(gè)需要被操作的覆蓋物之前,需要為其賦值一個(gè)id。我的示例中,所有的Marker屬性都是用 marker.imei = "xxxxxx"; 的方式為Marker對(duì)象賦值了一個(gè)id(tip:請(qǐng)記住js語(yǔ)法特點(diǎn),直接屬性賦值就可以用),遍歷的時(shí)候配合對(duì)該id的檢查實(shí)現(xiàn)刪除該覆蓋物。
/* openGPS.cn提示: 我的示例中,所有的Marker屬性都是用 marker.imei = "xxxxxx"; 的方式為Marker對(duì)象賦值了一個(gè)id 因此,我的寫法是: 先獲取全部覆蓋物: 然后判斷覆蓋物是否是Marker類型: 然后判斷是否是我要?jiǎng)h除的id(imei): 然后拿到目標(biāo)對(duì)象,執(zhí)行刪除操作 */ 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刪除指定覆蓋物方法是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)javascript刪除指定覆蓋物方法是什么這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。