需求:用户在图片上点击选择绘制一个多边形区域,双击停止绘制,在结束绘制后给后台返回这组多边形顶点的位置
参考了百度地图提供的绘制多边形方法,但百度地图只提供了API可以调用,所以只能自己写方法了
//以svg的jquery对象调用DrawPloygon(),svg内的图片需要设置为background;
//因为jquery的append方法和原生js的creactElement方法只能创建双标签,但path标签无法再双标签下输出样式,所以每次图形完成后讲svg内的path存储,再次绘制时以jquery的html方法创建新的path标签,再读取存储的path添加到svg内部
//返回的顶点参数是相对于svg的top和left的百分比
//在双击取消绘制时可能会触发user-select属性,需自行设置取消
$.extend({
stopDefault:function(e) {
//阻止默认浏览器动作(W3C)
if (e && e.preventDefault){
e.preventDefault();
} else{
window.event.returnValue = false;
return false;
}
},
//阻止浏览器的默认行为
stopDefault:function (e) {
if (e && e.preventDefault ){
e.preventDefault();
}else{
window.event.returnValue = false;
return false;
}
},
// 讲顶点的坐标换算成相对应的百分比并存入PointP