美文网首页GIS&LBS
百度地图javascript开发,删除指定覆盖物方法

百度地图javascript开发,删除指定覆盖物方法

作者: 季雨林 | 来源:发表于2018-06-27 12:37 被阅读4次

在百度地图开发的过程中,经常有人问到如何删除指定覆盖物。本站openGPS.cn决定做一个分享,将自己在处理这个问题i时候写过的一个方法分享出来。

百度地图提供了清除所有覆盖物的方法,也提供了删除指定覆盖物的方法。删除所有覆盖物不用多说,随时用随时删除,代码就一句: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;

        }

    百度地图开发,删除指定覆盖物的教程暂时写到这里。     

原文地址: https://www.opengps.cn/Blog/View.aspx?id=126 文章的更新编辑依此链接为准。欢迎关注源站原创文章! 

文末推荐: 阿里云代金券礼包,感谢领取支持本文!!

相关文章

网友评论

    本文标题:百度地图javascript开发,删除指定覆盖物方法

    本文链接:https://www.haomeiwen.com/subject/jdebyftx.html