百度地图SDK如何选中指定的marker(覆盖物)进行操作(删除)

百度地图SDK 如何选中指定的marker(覆盖物)进行操作(删除)

在addOverlay之前,增加markers的属性id,并赋值

1 function markerDevice(points, infoWindows, myicon,devicebarcode) {
2     var markers = new BMap.Marker(points, { icon: myicon });
3     markers.id = devicebarcode;
4     map.addOverlay(markers);
5     markers.addEventListener("click",function (event) {
6         map.openInfoWindow(infoWindows, points);//参数:窗口、点  根据点击的点出现对应的窗口
7     });
8 }

查找符合条件的id,删除

 1     function deletePoint(id) {
 2         var allOverlay = map.getOverlays(); 
 3         for(var i = 0;i<allOverlay.length;i++) {
 4             //删除指定设备条码的点
 5             if (allOverlay[i].id == id) {
 6                 map.removeOverlay(allOverlay[i]);
 7                 return false;
 8             }
 9             
10         }
11     }
原文地址:https://www.cnblogs.com/wishit/p/13931632.html