溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

javascript刪除指定覆蓋物方法是什么

發(fā)布時(shí)間:2021-11-11 17:03:01 來(lái)源:億速云 閱讀:121 作者:iii 欄目:web開發(fā)

這篇文章主要講解了“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)注!

向AI問一下細(xì)節(jié)

免責(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)容。

AI