百度地图删除removeOverlay指定覆盖物

47次阅读

共计 830 个字符,预计需要花费 3 分钟才能阅读完成。

第一步,给每个需要做处理的覆盖物加个标识,可自定义其他变量名称与值

第二步,查看地图所有覆盖物,查找标识,进行处理

实例代码:

// 画线 
var sy = new BMap.Symbol(BMap_Symbol_SHAPE_BACKWARD_OPEN_ARROW, {
    scale: 0.6, // 图标缩放大小
    strokeColor: "#fff", // 设置矢量图标的线填充颜色
    strokeWeight: "2" // 设置线宽
  });
  var icons = new BMap.IconSequence(sy, "10", "30");
  // 创建 polyline 对象
  var pois = [new BMap.Point(116.72537988063353, 23.3984551930871),
    new BMap.Point(116.72658361001649, 23.397796004502233),
    new BMap.Point(116.7268710677796, 23.39822302641697)
  ];
  var polyline = new BMap.Polyline(pois, {
    enableEditing: false, // 是否启用线编辑,默认为 false
    enableClicking: true, // 是否响应点击事件,默认为 true
    icons: [icons],
    strokeWeight: "8", // 折线的宽度,以像素为单位
    strokeOpacity: 0.8, // 折线的透明度,取值范围 0 - 1
    strokeColor: "#18a45b" // 折线颜色
  });

  // 用来清除指定元素
  polyline.name = 'line'
  this.map.addOverlay(polyline); // 增加折线 
// 清除指定线
var allOverlay = this.map.getOverlays();
  allOverlay.map(item => {if(item.name === 'line') {this.map.removeOverlay(item)
    }
  })

正文完
 0