为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
JavaScript

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


        百度地图提供了清除所有覆盖物的方法,也提供了删除指定覆盖物的方法。删除所有覆盖物不用多说,随时用随时删除,代码就一句:map.clearOverlays();


        然而删除指定覆盖物,这个需求很多新人不容易实现。

        原因:声明过的变量,没有独立存储下来,就不知道怎么找到这个变量,然后把这个变量作为参数传进去执行删除。


        本文先提供一个删除指定类型覆盖物的方法:

    <script type="text/javascript">        // 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的方式                    }                }        }    </script>


        然后,在讲讲如何删除特定覆盖物,这里有个前提:在创建某个需要被操作的覆盖物之前,需要为其赋值一个id。我的示例中,所有的Marker属性都是用  marker.imei = "xxxxxx";  的方式为Marker对象赋值了一个id(tip:请记住js语法特点,直接属性赋值就可以用),遍历的时候配合对该id的检查实现删除该覆盖物。

    <script type="text/javascript">        /* 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;        }    </script>


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


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消