m0_56694831 2021-11-16 18:05 采纳率: 79.4%
浏览 74
已结题

百度地图删除指定折线覆盖物

img

怎么删除指定的折线,现在删除不了,下面注释的地方是删除全部折线的,我想要的是删除指定的折线

  • 写回答

1条回答 默认 最新

  • CSDN专家-showbo 2021-11-16 20:48
    关注

    看代码没问题,data查询出来了吗?console.log那句打印出内容了吗?
    用下面的代码在百度官网网址下运行是没问题的,感觉题主的data没查询到内容

    img

    https://lbsyun.baidu.com/jsdemo.htm#dAddClearOverlay

    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
        <style type="text/css">
        body, html {
            width: 100%;
            height: 100%;
            margin: 0;
        }
        #allmap {
            height: 100%;
            width: 100%;
        }
        ul li {
            list-style: none;
        }
        .btn-wrap {
            z-index: 999;
            position: fixed;
            bottom: 3.5rem;
            margin-left: 3rem;
            padding: 1rem 1rem;
            border-radius: .25rem;
            background-color: #fff;
            box-shadow: 0 2px 6px 0 rgba(27, 142, 236, 0.5);
        }
        .btn {
            width: 75px;
            height: 30px;
            float: left;
            background-color: #fff;
            color: rgba(27, 142, 236, 1);
            font-size: 14px;
            border:1px solid rgba(27, 142, 236, 1);
            border-radius: 5px;
            margin: 0 5px;
            text-align: center;
            line-height: 30px;
        }
        .btn:hover {
            background-color: rgba(27, 142, 236, 0.8);
            color: #fff;
        }
    </style>
        <script type="text/javascript" src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=您的密钥"></script>
        <title>添加/清除覆盖物</title>
    </head>
    <body>
        <div id="allmap"></div>
        <ul class="btn-wrap" style="z-index: 99;">
            <li class = "light btn" onclick = "addOverlay()">添加覆盖物</li>
            <li class = "night btn" onclick = "removeOverlay()">清除覆盖物</li>
        </ul>
    </body>
    </html>
        <script type="text/javascript">
        var map = new BMapGL.Map('allmap');
        var point = new BMapGL.Point(116.404, 39.915);
        map.centerAndZoom(point, 15);
        arrData=[[
            new BMapGL.Point(116.399, 39.910),
            new BMapGL.Point(116.405, 39.920),
            new BMapGL.Point(116.425, 39.900)
       ],[
            new BMapGL.Point(116.399, 39.911),
            new BMapGL.Point(116.405, 39.922),
            new BMapGL.Point(116.425, 39.903)
       ]];
          lineArr=[]
    for(var id=0;id<arrData.length;id++){
    arr=arrData[id];
        var polyline = new BMapGL.Polyline(arr, {
            strokeColor: 'blue',
            strokeWeight: 2,
            strokeOpacity: 0.5
        });
      map.addOverlay(polyline);
      lineArr.push({id,polyline})
      
    }
          console.log(lineArr)
        // 清除覆盖物
        function removeOverlay() {
          var data=lineArr.find(item=>item.id==1);//删除id为1的线
          console.log(data)
          map.removeOverlay(data.polyline)
        }
        </script>
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月25日
  • 已采纳回答 11月17日
  • 创建了问题 11月16日

悬赏问题

  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄