el-amap 遮罩(带洞多边形)
el-amap 遮罩(带洞多边形)
遮罩(带洞多边形)
效果图
代码
<template>
<div>
<el-amap
vid="amapDemo"
:center="center"
:zoom="zoom"
pitch-enable="false"
:events="events"
:style="{height: '48.4rem'}"
ref="map"
>
<!-- 遮罩层 -->
<el-amap-polygon
strokeColor="#00eeff"
strokeOpacity="1"
fillColor="#71B3ff"
fillOpacity="0.5"
v-for="(polygon, index) in polygons"
:key="index+'polygons'"
strokeWeight="2"
:path="polygon.Ce.path"
></el-amap-polygon>
</el-amap>
</div>
</template>
<script>
export default {
data () {
return {
// 缩放程度,值越大越详细
zoom: 10,
// 中心点
center: [106.519006, 29],
events: this.eventsFun(),
polygons: [], // 绘画的点
district: null, // 行政区划插件的对象
}
},
methods: {
// 画地图的遮罩层
drawBounds () {
var that = this;
//加载行政区划插件
if (!that.district) {
// 实例化DistrictSearch
var opts = {
subdistrict: 0, // 获取边界不需要返回下级行政区
extensions: "all", //返回行政区边界坐标组等具体信息
level: "city", // 查询行政级别为 市
};
that.district = new AMap.DistrictSearch(opts);
}
// 行政区查询
let code = '江津';
that.district.search(code, function (status, result) {
that.polygons = [];
// 外圈
var outer = [
new AMap.LngLat(-360, 90, true),
new AMap.LngLat(-360, -90, true),
new AMap.LngLat(360, -90, true),
new AMap.LngLat(360, 90, true),
]
var bounds = result.districtList[0].boundaries; // 这里的bounds是一个数组,但是里面只有一个元素就是bounds[0]
if (bounds) {
for (var i = 0, l = bounds.length; i < l; i++) { // 所以这个循环只会执行一次
// 生成行政区划polygon
var polygon = new AMap.Polygon({
path: [outer, bounds[i]],
});
that.polygons.push(polygon);
}
}
AMap.Polygon.bind(that.polygons); // 交给amap进行值处理
});
},
// 地图事件
eventsFun () {
let that = this
return {
// 地图加载完成时执行的方法
complete () {
that.drawBounds() // 画地图的遮罩层
}
}
},
}
}
</script>
参考资料
el-amap 遮罩(带洞多边形)的更多相关文章
- [CGAL]带岛多边形三角化
CGAL带岛多边形三角化,并输出(*.ply)格式的模型 模型输出的关键是节点和索引 #include <CGAL/Triangulation_vertex_base_with_id_2.h&g ...
- AMap编辑折线、多边形、圆
<!doctype html> <html> <head> <meta charset="utf-8"> <meta http ...
- clipper库使用的一些心得
clipper sourceforge官网:http://sourceforge.net/projects/polyclipping/ 1. 版本号差异 之前project里面使用4.8.6,近期升级 ...
- CSS遮罩——如何在CSS中使用遮罩
Css遮罩是2008年4月由苹果公司添加到webkit引擎中的.遮罩提供一种基于像素级别的,可以控制元素透明度的能力,类似于png24位或png32位中的alpha透明通道的效果. 图像是由rgb三个 ...
- 多边形节点编码python脚本
# -*- coding: cp936 -*-#本脚以最左边.Y值最大的点为起始点按顺时针为多边形节点编码,生成一个包含记录编码值和多边形FID字段的点要素类 #注意:#1.本脚本作为arcgis脚本 ...
- [转]CSS遮罩——如何在CSS中使用遮罩
特别声明:此篇文章由D姐根据Christian Schaefer的英文文章原名<CSS Masks – How To Use Masking In CSS Now>进行翻译,整个译文带有我 ...
- JavaWeb 之 EL表达式
EL 表达式 一.概述 1.概念 EL 表达式:Expression Language 表达式语言. 2.作用 替换和简化 jsp 页面中 java 代码的编写. 3.语法格式 ${表达式} 4.注意 ...
- 用BlendFunc实现舞台灯光和刮刮卡效果
[转]http://code.lovemiao.com/?p=136#more-136 之前写过一篇<不规则形状按钮的点击判定>,利用了CCRenderTexture创建一块画布,可以在上 ...
- oracle 空间数据库说明
转:http://blog.csdn.net/jing_xin/article/details/4355642 由于最近弄一些空间数据,所以找了些oracle空间数据库的一些知识.下面是汇总: Ora ...
随机推荐
- Java编发编程 - 线程池的认识(二)
核心线程池的内部实现 依然参考 JDK 对线程池的支持,各个接口.相关类之间的关系: (1)对于Executors中几个创建线程池方法底层实现: // 创建固定线程数量的线程池 public sta ...
- kali Linux的 安装详细步骤
一.打开"kali 官方网站,下载kali镜像文件.地址(https://www.kali.org/downloads/) 在Download菜单界面下,有历史版本下载和最新版下载.找到 ...
- Appium上下文和H5测试(一)
坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.混合应用-H5 1.混合应用是什么? 2.怎么样分辨一个 App 页面究竟是原生的还是 We ...
- 对于AQS的理解
1.JUC包中的 CountDownLatch.CyclicBarrier.ReentrantLock和Semaphore都是基于AQS(AbstractQuenedSynchronizer)实现的 ...
- mysql5.5升级5.7(1)
卸载旧版本mysql 当然要记得备份数据库数据啦 1.查看需要卸载的部分: rpm -qa |grep -i mysql 2.开始卸载: yum remove mysql* 接下来是安装新版mysql ...
- 15.java设计模式之访问者模式
基本需求: 电脑需要键盘鼠标等固定的组件组成 现在分为个人,组织等去买电脑,而同一种组件对不同的人(访问者)做出不同的折扣,从而电脑的价格也不一样 传统的解决方法:在组件内部进行判断访问人的类型,从而 ...
- 【译】理解Rust中的局部移动
原文标题:Understanding Partial Moves in Rust 原文链接:https://whileydave.com/2020/11/30/understanding-partia ...
- LeetCode 刷题总结
LeetCode上的题很不错,都短小精悍. 先说说我自己.本科一直都是偏硬件,做些单片机.FPGA的东西.本科毕业设计写了个Android APP,控制外围电路(一个小车).可以通过Android手机 ...
- ubuntu安装vmware
安装过程: 首先直接将光盘文件中的tar.gz复制到桌面,解压过程如下 中间遇到的问题: 在执行的过程中一直在回车,需要输入的全为yes,还有一个是what is the location of th ...
- fist-第三天冲刺随笔
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...