管理员可以自己在地图上选取一个区域:
html>
行政区域工具var map = new BMap.Map("container");// 创建Map实例
map.centerAndZoom("深圳", 13); // 初始化地图,设置中心点坐标和地图级别
map.enableScrollWheelZoom();
var key = 1; //开关
var newpoint; //一个经纬度点
var points = []; //数组,放经纬度信息
var polyline = new BMap.Polyline(); //折线覆盖物
function startTool(){ //开关函数
if(key==1){
document.getElementById("startBtn").style.background = "green";
document.getElementById("startBtn").style.color = "white";
document.getElementById("startBtn").value = "开启状态";
key=0;
}
else{
document.getElementById("startBtn").style.background = "red";
document.getElementById("startBtn").value = "关闭状态";
key=1;
}
}
map.addEventListener("click",function(e){ //单击地图,形成折线覆盖物
newpoint = new BMap.Point(e.point.lng,e.point.lat);
if(key==0){
// if(points[points.length].lng==points[points.length-1].lng){alert(111);}
var markerhead = new BMap.Marker(newpoint); // 创建标注
map.addOverlay(markerhead); // 将标注添加到地图中
points.push(newpoint); //将新增的点放到数组中
polyline.setPath(points); //设置折线的点数组
map.addOverlay(polyline); //将折线添加到地图上
document.getElementById("info").innerHTML += "new BMap.Point(" + e.point.lng + "," + e.point.lat + "),"; //输出数组里的经纬度
}
});
map.addEventListener("dblclick",function(e){ //双击地图,形成多边形覆盖物
if(key==0){
map.disableDoubleClickZoom(); //关闭双击放大
var polygon = new BMap.Polygon(points);
map.addOverlay(polygon); //将折线添加到地图上
}
});
现在的问题是:选取一个闭合区域之后,在后台如何判断一个经纬度是否在这个范围之内呢?