怎么删除指定的折线,现在删除不了,下面注释的地方是删除全部折线的,我想要的是删除指定的折线
1条回答 默认 最新
- CSDN专家-showbo 2021-11-16 20:48关注
看代码没问题,data查询出来了吗?console.log那句打印出内容了吗?
用下面的代码在百度官网网址下运行是没问题的,感觉题主的data没查询到内容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>
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 请问读取环境变量文件失败是什么原因?
- ¥15 在若依框架下实现人脸识别
- ¥15 网络科学导论,网络控制
- ¥100 安卓tv程序连接SQLSERVER2008问题
- ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载