点击(此处)折叠或打开
-
<!doctype html>
-
<html lang="en">
-
<head>
-
<meta charset="UTF-8">
-
<meta name="Generator" content="EditPlus?">
-
<meta name="Author" content="">
-
<meta name="Keywords" content="">
-
<meta name="Description" content="">
-
<title>Document</title>
-
<script src="" type="text/javascript" ></script>
-
</head>
-
<body>
-
<div id="container" style="width:500px; height:300px"></div>
-
<input type="button" class="button" value="开始编辑多边形" onClick="editor.startEditPolygon()"/>
-
<input type="button" class="button" value="结束编辑多边形" onClick="editor.closeEditPolygon()"/>
-
</body>
-
<script type="text/javascript" >
-
var editorTool, map = new AMap.Map("container", {
-
resizeEnable: true,
-
center: [116.403322, 39.900255],//地图中心点
-
zoom: 13 //地图显示的缩放级别
-
});
-
-
var polygonArr = new Array();//多边形覆盖物节点坐标数组
-
polygonArr.push([116.397857, 39.910612]);
-
polygonArr.push([116.373567, 39.905938]);
-
polygonArr.push([116.378116, 39.896917]);
-
polygonArr.push([116.415281, 39.899485]);
-
var polygon = new AMap.Polygon({
-
path: polygonArr,//设置多边形边界路径
-
strokeColor: "#FF33FF", //线颜色
-
strokeOpacity: 0.2, //线透明度
-
strokeWeight: 3, //线宽
-
fillColor: "#1791fc", //填充色
-
bubble:true,
-
fillOpacity: 0.35//填充透明度
-
});
-
polygon.setMap(map);
-
-
console.log(polygonArr);
-
-
var callBackFn = function(e) {
-
//alert('您在[ '+e.lnglat.getLng()+','+e.lnglat.getLat()+' ]的位置点击了地图!');
-
var j = polygonArr.length - 1;
-
var isInArea = false;
-
for ( i=0; i<polygonArr.length;i++ )
-
{
-
if( ( (polygonArr[i].lat < e.lnglat.getLat() && polygonArr[j].lat >= e.lnglat.getLat()) || (polygonArr[j].lat < e.lnglat.getLat() && polygonArr[i].lat >= e.lnglat.getLat()) ) ) {
-
if( polygonArr[i].lng + (e.lnglat.getLat() - polygonArr[i].lat) * (polygonArr[j].lng - polygonArr[i].lng) / (polygonArr[j].lat - polygonArr[i].lat) < e.lnglat.getLng() ) {
-
isInArea = !isInArea;
-
}
-
}
-
j = i;
-
}
-
-
if( isInArea == false ) {
-
alert('点在多边形外');
-
} else {
-
alert('点在多边形内');
-
}
-
-
}
-
map.on('click', callBackFn);
-
-
var editor={};
-
editor._polygonEditor= new AMap.PolyEditor(map, polygon);
-
//绘制多边形开始
-
editor.startEditPolygon=function(){
-
editor._polygonEditor.open();
-
}
-
editor.closeEditPolygon=function(){
-
editor._polygonEditor.close();
-
}
-
</script>
- </html>