这篇文章主要讲解了“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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。