js 百度地图 右键菜单

右键菜单

<!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, #allmap {
            width: 100%;
            height: 100%;
            overflow: hidden;
            margin: 0;
            font-family: "微软雅黑";
            font-size: 14px;
        }
    </style>
    <script type="text/javascript" src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=31hnqKEhOUOWFXXxvWYXiM1v"></script>
    <!--加载鼠标绘制工具-->
    <script type="text/javascript" src="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.js"></script>
    <link rel="stylesheet" href="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.css" />
    <title></title>
</head>
<body>
    <div id="allmap">
    </div>
</body>
</html>
<script type="text/javascript">
    // 百度地图初始化
    var map = new BMap.Map("allmap");
    map.centerAndZoom("上海市", 12);
    map.enableScrollWheelZoom();
    map.enableContinuousZoom();

    var bmap = {
        drawingManager: '',
        styleOptions: {
            strokeColor: "red",      //边线颜色。
            fillColor: "red",        //填充颜色。当参数为空时,圆形将没有填充效果。
            strokeWeight: 3,        //边线的宽度,以像素为单位。
            strokeOpacity: 0.8,     //边线透明度,取值范围0 - 1。
            fillOpacity: 0.3,       //填充的透明度,取值范围0 - 1。
            strokeStyle: 'solid'    //边线的样式,solid或dashed。
        },

        /*------实例化-----*/
        init: function () {
            var styleOptions = this.styleOptions;
            map.enableScrollWheelZoom();
            //实例化鼠标绘制工具
            this.drawingManager = new BMapLib.DrawingManager(map, {
                isOpen: false, //是否开启绘制模式
                enableDrawingTool: true, //是否显示工具栏
                drawingToolOptions: {
                    anchor: BMAP_ANCHOR_TOP_RIGHT, //位置
                    offset: new BMap.Size(5, 5), //偏离值
                    scale: 0.8, //工具栏缩放比例
                    drawingModes: [
                     //工具栏上可以选择出现的绘制模式
                     BMAP_DRAWING_MARKER,
                     BMAP_DRAWING_POLYGON,
                     BMAP_DRAWING_POLYLINE
                     //BMAP_DRAWING_RECTANGLE
                     //BMAP_DRAWING_CIRCLE
                    ]
                },
                polylineOptions: styleOptions, //线的样式
                polygonOptions: styleOptions, //多边形的样式
            });
            //添加鼠标绘制工具监听事件,用于获取绘制结果
            this.drawingManager.addEventListener('overlaycomplete', bmap.overlaycomplete);
        },
        overlaycomplete: function (e) {
            switch (e.drawingMode) {
                case "marker":
                    {
                        var marker = e.overlay;
                        /*-----------------标注右键删除-------------------------*/
                        var markerMenu = new BMap.ContextMenu();
                        markerMenu.addItem(new BMap.MenuItem('删除标注 ', function () {
                            map.removeOverlay(marker);
                        }))
                        marker.addContextMenu(markerMenu);
                        /*-----------------标注点击弹窗-------------------------*/
                        marker.addEventListener("click", function (e) {
                        var sContent =
                        "<form method='post' action=''>" +
                            "<table>" +
                                "<tr>" +
                                    "<td><b>名称:</b>" +
                                        "<input type='text' name='Name' style='margin-top:10px;width:200px'/>" +
                                    "</td>" +
                                "</tr>" +
                                "<tr>" +
                                    "<td><b>坐标:</b>" +
                                        "<input type='text' name='lng' value='" + e.point.lng + "' style='width:80px;'/>" +
                                        "<span>-</span>" +
                                        "<input type='text' name='lat' value='" + e.point.lat + "' style='width:80px;'/>" +
                                    "</td>" +
                                "</tr>" +
                                "<tr >" +
                                    "<td><b>备注:</b>" +
                                        "<textarea  rows=6  name='Remark' style='width:198px;vertical-align:top;'></textarea>" +
                                    "</td>" +
                                "</tr>" +
                                "<tr>" +
                                    "<td style='text-align:right;'>" +
                                        "<input type='button' value='保存' style='width: 40px;line-height: 40px;'/>" +
                                    "</td>" +
                                "</tr>" +
                            "</talbe>" +
                        "</form>";
                            var opts = {
                                enableMessage: false
                            };
                            var infoWindow = new BMap.InfoWindow(sContent, opts);
                            this.openInfoWindow(infoWindow);
                        });
                    }
                    break;
                case "polyline":
                    {
                        var polyline = e.overlay;
                        /*-----------------折线右键删除-------------------------*/
                        var polylineMenu = new BMap.ContextMenu();
                        polylineMenu.addItem(new BMap.MenuItem('删除折线', function () {
                            map.removeOverlay(polyline);
                        }));
                        polyline.addContextMenu(polylineMenu);
                    }
                    break;
                case "polygon":
                    {
                        var polygon = e.overlay;
                        /*-----------------多边形右键删除-------------------------*/
                        var polygonMenu = new BMap.ContextMenu();
                        polygonMenu.addItem(new BMap.MenuItem('删除多边形', function () {
                            map.removeOverlay(polygon);
                        }));
                        polygon.addContextMenu(polygonMenu);
                    }
                    break;
            }
        }
    }
    bmap.init();
</script>
(0)

相关推荐

  • 4.标签篇:SVG

    # 4.标签篇:svg - SVG:矢量图,放大不会失真,适合大面积的贴图,通常动画较少或较简单.使用标签和CSS去画     canvas:适合用于小面积的绘图,适合动画 ```html <s ...

  • js 百度地图 路书---动态路线

    路书---动态路线 <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content=&q ...

  • 怎么把百度搜索添加到右键菜单

    在生活中遇到不懂的事情,我们通常都百度一下,找到答案.小编和您一样,都习惯了使用百度搜索引擎.有时候我们把所选择的文字点击右键,在右键菜单里能找到使用百度搜素,直接跳转到搜索页面,不用自己再重新在搜索 ...

  • 从史上最热“五一”黄金周,聊聊中国人在百度地图大数据中“看”到什么

    根据文化和旅游部的统计,2021年"五一"假期期间全国国内旅游出游2.3亿人次,同比增长119.7%,按可比口径恢复至疫前同期的103.2%,全国5A级旅游景区接待游客约4800万 ...

  • 这个五一,百度地图新能源导航拯救了我的旅程

    编辑丨钟立磊 春末夏初,夏至未至,五一假期可以说是最为怡人的假日时光.想想自己平常朝九晚五写稿,一到周末就只能宅在家里头,今天的小雷真的要笑出声来.好不容易能放个长假,那还不得赶紧出门玩玩? 整整五天 ...

  • 手机百度地图字体增大

    查看全文 2015-09-06 0 更多回答(3) 其他回答 3条回答 探索人生 你好! 手机百度地图显示的文字字体的大小好像是默认的不能更改的哦,手机百度地图有时候的定位不是很好用,我一般都是用腾讯 ...

  • 百度地图APP怎么切换到极速模式?

    我们平时使用的百度地图一般都是经典模式,不过在开车的时候还是极速模式比较适用,而且对我们的干扰也比较小,那么怎样切换到该模式呢? 下图一就是极速导航模式界面,可以看到界面非常简洁,我们只需按住底部的按 ...

  • 百度地图采集员的日常被揭开:人与AI同频的样貌清晰可见

    上一份工作还是跟航空发动机相关,摇身一变成为专职地图采集员,是怎样一种神操作和体验? "我就觉得和我的梦想非常的接近." GIF 这是刚刚播出的,央视 CCTV-9纪录频道< ...

  • 百度地图APP怎么开启车牌限行?

    现在很多城市都有限行的规定,如果要去一个自己陌生的城市,那么很有必要开启手机导航的车牌限行功能,下面就是百度地图APP的开启方法! 进入到应用登录以后,点击左上角的头像,然后就会跳转到图二所示的个人中 ...

  • Android Studio实现百度地图定位(显示经纬度和地址)

    Android Studio实现百度地图定位(显示经纬度和地址) 一.准备工作 1.学会查看官方文档 baiduMap 首先登陆自己的百度账号 依次点击导航栏中–>开发文档–>Androi ...