vue 引入百度地图 添加覆盖物 两点确定一个圆

                var points = [];
                map.addEventListener("click", function (e) {                
                    var point=new BMap.Point(e.point.lng,e.point.lat);
                    points.push(new BMap.Point(e.point.lng, e.point.lat));
                    if(points.length==1){
                        var marker=new BMap.Marker(point);
                    //给覆盖物添加右键菜单
                        var removeMarker = function(e,ee,marker){
                            map.clearOverlays()
                            points.length=0
                        }
                        //创建右键菜单
                        var markerMenu=new BMap.ContextMenu();
                        markerMenu.addItem(new BMap.MenuItem('删除',removeMarker.bind(marker)));                
                        map.addOverlay(marker);
                        marker.addContextMenu(markerMenu);                 
                    }else if(points.length==2){	
                        var radLat1 = points[0].lat * Math.PI / 180.0;
                        var radLat2 = points[1].lat * Math.PI / 180.0;
                        var a = radLat1 - radLat2;
                        var b = points[0].lng * Math.PI / 180.0 - points[1].lng * Math.PI / 180.0;
                        var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
                        s = s * 6378137.0; // 取WGS84标准参考椭球中的地球长半径(单位:m)
                        s = Math.round(s * 10000) / 10000;		
                        var circle = new BMap.Circle(points[0], s, {strokeColor: "blue",fillColor:"#f50704", strokeWeight: 2, strokeOpacity: 0.5}); //创建圆
                        map.addOverlay(circle);
                        points.length=0
                    }
                });  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值