/* --------------------------创建地图描边 */
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: '#000000',
fillOpacity: '.3',
}
) //建立多边形覆盖物
// map.addOverlay(ply1);//遮罩物是半透明的,如果需要纯色可以多添加几层
//4. 给目标行政区划添加边框,其实就是给目标行政区划添加一个没有填充物的遮罩层
var ply = new BMap.Polygon(max, {
strokeWeight: 3,
strokeColor: '#064fa0',
fillColor: '',
})
map.addOverlay(ply1) //ply1 只显示遮罩内
// map.setViewport(ply.getPath()) //调整视野
})
},```
创建 地图 描边
猜你喜欢
转载自blog.csdn.net/weixin_55333190/article/details/121874084
今日推荐
周排行