1)标记后消除重复
var m_point;
var pointaccess = (10,10);
var mk;
map.addEventListener("click",function(e){
if(e.point.lng == pointaccess.lng&&e.point.lat == pointaccess.lat){
map.removeOverlay(mk);
}else{
m_point = e.point;
mk = new BMap.Marker(m_point);
map.addOverlay(mk);
}
pointaccess = e.point;
});2)绘制区域
var styleOptions = {
strokeColor:"none", //边线颜色。
fillColor:"red", //填充颜色。当参数为空时,圆形将没有填充效果。
strokeWeight: 1, //边线的宽度,以像素为单位。
strokeOpacity: 0.0, //边线透明度,取值范围0 - 1。
fillOpacity: 0.3, //填充的透明度,取值范围0 - 1。
strokeStyle: 'solid' //边线的样式,solid或dashed。
}

function showSomething(){
var polygon = new BMap.Polygon([
new BMap.Point(m_point.lng,m_point.lat),
new BMap.Point(m_point.lng+0.09,m_point.lat-0.01),
new BMap.Point(m_point.lng-0.01,m_point.lat-0.03),
new BMap.Point(m_point.lng-0.05,m_point.lat-0.01),
], styleOptions); //创建多边形
map.addOverlay(polygon); //增加多边形
}