百度地图JavaScript API使用Boundary方法添加覆盖物传入城市名称显示城市边界线

在这里插入图片描述

function getBoundary(map,city){
    var bdary = new BMap.Boundary();
    bdary.get(city, function(rs){//获取行政区域
//        map.clearOverlays();//清除地图覆盖物
        //思路:利用行政区划点的集合与外围自定义东南西北形成一个环形遮罩层
        //1.获取选中行政区划边框点的集合rs.boundaries[0]
    	var list =rs.boundaries;
    	var num="";
    	var max  = list[0];
    	for (var i = 1; i < list.length; i++) {
    		if (list[i].length > max.length){ 
    			max = list[i]; 
    		}
		}
        	var strs = new Array();
        	strs = max.split(";");
        	var ENWS = "";
        	for (var i=0;i<strs.length;i++) {
        		ENWS += strs[i] + ";"
        	}
        	//2.自定义外围边框点的集合
        	var E_JW = "170.672126, 39.623555;";        //东
        	var EN_JW = "170.672126, 81.291804;";       //东北角
        	var N_JW = "105.913641, 81.291804;";        //北
        	var NW_JW = "-169.604276,  81.291804;";     //西北角
        	var W_JW = "-169.604276, 38.244136;";       //西
        	var WS_JW = "-169.604276, -68.045308;";     //西南角
        	var S_JW = "114.15563, -68.045308;";        //南
        	var SE_JW = "170.672126, -68.045308 ;";     //东南角
        	//3.添加环形遮罩层
        	var ply1 = new BMap.Polygon(ENWS + E_JW + SE_JW + S_JW + WS_JW + W_JW + NW_JW + N_JW + EN_JW + E_JW, {
        		strokeColor:"none",
        		strokeOpacity:0,
        		fillColor:"#0f1f40",
        		fillOpacity:"1"
        			}); //建立多边形覆盖物
//        	map.addOverlay(ply1);//遮罩物是半透明的,如果需要纯色可以多添加几层
        	//4. 给目标行政区划添加边框,其实就是给目标行政区划添加一个没有填充物的遮罩层
        	var ply = new BMap.Polygon(max, {strokeWeight:3,strokeColor:"#064fa0",fillColor:""});
        	map.addOverlay(ply);
        	map.setViewport(ply.getPath());//调整视野
        
    });
}
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值