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
}
});