如何實現:
方法一、給地圖增加一個事件監聽,addEventListener,當右擊地圖時,出現右鍵菜單,可刪除標注。
方法二、給標注增加事件監聽,右鍵點擊標注,即可刪除
<!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script> <script type="text/javascript" src="http://api.map.baidu.com/library/TextIconOverlay/1.2/src/TextIconOverlay_min.js"></script> <script type="text/javascript" src="http://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></script> <script type="text/javascript" src="http://api.map.baidu.com/library/LuShu/1.2/src/LuShu_min.js"></script> <title>27.1刪除標注</title> </head> <body> <div class="wrapper"> <div class="container clearfix"> <div class="clearfix"> <div style="clear: both;"> <div style="float: left; width: 500px; height: 340px; border: 1px solid gray" id="container"> </div> </div> </div> </div> </div> </body> </html> <script type="text/javascript"> var map = new BMap.Map("container"); var point = new BMap.Point(116.404, 39.950507); map.centerAndZoom(point, 16); var marker = new BMap.Marker(point); map.addOverlay(marker); marker.addEventListener("rightclick", function () { map.removeOverlay(marker); }); var menu = new BMap.ContextMenu(); var txtMenuItem = [ { text: "刪除標注", callback: function () { map.removeOverlay(marker); } }]; for (var i = 0; i < txtMenuItem.length; i++) { menu.addItem(new BMap.MenuItem(txtMenuItem[i].text, txtMenuItem[i].callback, 100)); } map.addContextMenu(menu); </script>