百度地图自定义边界

这段时间公司需要能够自定义边界,百度地图只能提供行政区以上的边界。所以先做了个demo,不多说,上图上代码。

所需js:

	
	

html代码:


	


js代码:

var map = new BMap.Map("allmap");
	map.centerAndZoom(new BMap.Point(121.441932, 31.151924), 12);
	map.enableScrollWheelZoom();

	addClick();
	
	function clearStr(){
		$("#pointAy").text('');
	}
	
	function showInfo(e){
		var str=e.point.lng + ", " + e.point.lat+";";
		$("#pointAy").append(str);
	}
	function addClick(){
		map.addEventListener("click", showInfo);
	}
	function removeClick(){
		map.removeEventListener("click", showInfo);
	}
	function addPol(){
		var points=($("#pointAy").val()).split(";");
		subStationName=prompt("请输入添加的地名:",""); 
		if(subStationName==''||subStationName==null){
			alert("输入地名!");
			return;
		}
		if(points.length<4){
			alert("最少3个点!");
			return;
		}
		$("#pointAy").text('');
		var mapPoint=[];
		for(var i=0;i


因为是demo,所以代码有点乱,但是肯定是可以运行。

我说下具体步骤:

1,地图上点三个点

2,点击添加多边形,输入添加的区域名称 (1,2可以多次操作)

3,拖动边缘的小正方形来自定义边界

4,启用编辑和关闭编辑是为了更方便的看清边界(有正方形的小框看不清)

5,点击获取所有点,输入添加的单个区域名称,就能获取到单个区域所有的边界点了。


这个比较简单,所以就说了下这个demo.希望对大家有所帮助。

具体实战的效果见下图:

百度地图自定义边界_第1张图片

利用行政区的层来做一个遮罩,然后把行政区分为多个区域。

你可能感兴趣的:(web)