leaflet地图画自定义区域遮罩层
/*画遮蔽层的相关方法
*思路: 首先在中国地图最外画一圈,圈住理论上所有的中国领土,然后再将每个闭合区域合并进来,并全部连到西北角。
* 这样就做出了一个经过多次西北角的闭合多边形*/
//定义中国东南西北端点,作为第一层
// var pNW = {
// lat: 59.0,
// lng: 73.0
// };
// var pNE = {
// lat: 59.0,
// lng: 136.0
// };
// var pSE = {
// lat: 3.0,
// lng: 136.0
// };
// var pSW = {
// lat: 3.0,
// lng: 73.0
// };
// //向数组中添加一次闭合多边形,并将西北角再加一次作为之后画闭合区域的起点
// var pArray = [];
// pArray.push(pNW);
// pArray.push(pSW);
// pArray.push(pSE);
// pArray.push(pNE);
// pArray.push(pNW);
// // //循环添加各闭合区域 //灰色区域
// arrayAll.forEach(arrayList => {
// for (let i = 0; i < arrayList.length; i++) {
// let points = [];
// let item1 = arrayList[i]
// for (let j = 0, l1 = item1.length; j < l1; j++) {
// let item2 = item1[j]
// for (let k = 0, l2 = item2.length; k < l2; k++) {
// let item3 = item2[k]
// points.push({
// lat: item3[1],
// lng: item3[0]
// });
// }
// }
// //将闭合区域加到遮蔽层上,每次添加完后要再加一次西北角作为下次添加的起点和最后一次的终点
// pArray = pArray.concat(points);
// pArray.push(pArray[0]);
// }
// })
//添加灰色图层
// L.polygon(pArray, {
// color: 'transparent',
// fillColor: '#282525',
// fillOpacity: 0.6
// }).addTo(this.map)