百度地圖 刪除標注


如何實現:

方法一、給地圖增加一個事件監聽,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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM