当前位置: 首页 > news >正文

【vue+amap】高德地图绘制多边形区域

在这里插入图片描述

参考文档:
高德地图参考手册
高德地图示例代码

1、高德地图控制台创建应用,获取权限ak

高德地图控制台
在这里插入图片描述

Ps.本项目里按钮等基础控件使用的是element-ui版本控件

2、项目内全局引入

index.html内引入高德地图代码:

<script type="text/javascript">window._AMapSecurityConfig = {securityJsCode: "你的安全密钥"};</script><scripttype="text/javascript"src="https://webapi.amap.com/maps?v=1.4.6&key=你的key"></script><scripttype="text/javascript"src="http://webapi.amap.com/maps?v=1.4.6&key=你的key&plugin=AMap.PolyEditor&plugin=AMap.MouseTool"></script>

在这里插入图片描述

3、完整项目代码

template:

<template><div class="map-wrap"><div><h1>{{ msg }}</h1><div class="flex"><div class="button-wrap"><el-buttonsize="small"type="primary"icon="el-icon-edit"@click="handleDraw">绘制</el-button><el-button size="small" icon="el-icon-add" @click="handelFinishDraw">完成</el-button><el-buttonsize="small"icon="el-icon-refresh-left"@click="handleClearDraw">重置</el-button></div><div class="picker-color" v-if="isediting"><div class="text">选择颜色</div><span@click="handleChangeColor(item)"v-for="item in colors":key="item.code":class="['color' + item.code,drawColor == item.value ? 'active' : '',]"><i v-if="drawColor == item.value" class="el-icon-check"></i><i v-else>&nbsp;</i></span></div></div></div><div style="width: 1200px; height: 500px; padding-left: calc(50% - 600px)"><div id="container"></div></div></div>
</template>

js:


<script>
export default {name: "Map",data() {return {msg: "地图绘制展示页",map: null,poly: null,drawColor: "#2A8DFF",colors: [{ code: 1, value: "#FF6B36" },{ code: 2, value: "#FFAD29" },{ code: 3, value: "#FFDA21" },{ code: 4, value: "#29E98F" },{ code: 5, value: "#1EEDE6" },{ code: 6, value: "#2A8DFF" },{ code: 7, value: "#CC16EF" },{ code: 8, value: "#F53ABD" },],paths: [[111.683736, 40.818554],[111.684444, 40.816971],[111.689036, 40.818172],[111.688264, 40.819788],],mouseOverEvent: true,isediting: false,tool: null,};},created() {this.$nextTick(() => {this.createMap();});},methods: {createMap() {// 地图创建var map = new AMap.Map("container", {zoom: 11, //级别center: [111.688264, 40.818205], //兴泰御都国际viewMode: "3D", //使用3D视图});// 添加一个标记点var marker = new AMap.LabelMarker({icon: "http://a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png",position: [111.687931, 40.818392],offset: new AMap.Pixel(-10, -30),text: {content: "东方国信",direction: "right",style: {fontSize: 15,fillColor: "#fff",strokeColor: "rgba(255,255,0,0.5)",strokeWidth: 2,padding: [3, 10],backgroundColor: "blue",borderColor: "#ccc",borderWidth: 3,},},});var labelsLayer = new AMap.LabelsLayer({collision: true,});labelsLayer.add(marker);// 将 LabelMarker 实例添加到 LabelsLayer 上map.add(labelsLayer);// 将 LabelsLayer 添加到地图上// 创建默认区域var polygon = new AMap.Polygon({path: this.paths,strokeColor: "#fff",strokeWeight: 6,strokeOpacity: 0.2,fillOpacity: 0.4,fillColor: this.drawColor,zIndex: 50,});map.add(polygon);map.setFitView([polygon]); // 缩放地图到合适的视野级别this.map = map;// 如果后期想修改默认区域:修改this.poly即可// var polyEditor = new AMap.PolyEditor(map, polygon);// this.poly = polyEditor;},/* 操作按钮 */// 编辑handleDraw() {// this.poly.open();this.isediting = true;var mouseTool = new AMap.MouseTool(this.map);this.tool = mouseTool;mouseTool.polygon({strokeColor: "#FFF",strokeOpacity: 1,strokeWeight: 6,strokeOpacity: 0.2,fillColor: this.drawColor,fillOpacity: 0.4,strokeStyle: "solid",});mouseTool.on("draw", function (event) {console.log("覆盖物对象绘制完成:", event.obj);// event.obj 为绘制出来的覆盖物对象});},handelFinishDraw() {this.isediting = false;this.tool.close();},//重置handleClearDraw() {this.isediting = false;this.tool.close(true);},//切换颜色handleChangeColor(item) {this.drawColor = item.value;this.tool.polygon({strokeColor: "#FFF",strokeOpacity: 1,strokeWeight: 6,strokeOpacity: 0.2,fillColor: this.drawColor,fillOpacity: 0.4,strokeStyle: "solid",});},},
};
</script>

css:

<style scoped>
h1 {font-weight: normal;
}
#container {width: 100%;height: 100%;
}
.map-wrap {position: relative;width: 100%;height: 100%;
}
.map-wrap .flex {display: flex;flex-shrink: 0;white-space: nowrap;justify-content: space-between;align-items: center;height: 50px;line-height: 50px;width: 1200px;padding-left: calc(50% - 600px);
}
.allmap {width: 100%;height: calc(100% - 50px);position: absolute;
}
ul {list-style: none;
}
.picker-color {text-align: right;padding-right: 30px;
}
.text {display: inline-block;padding: 0 10px;float: left;
}
span {display: inline-block;width: 24px;height: 24px;line-height: 20px;border-radius: 4px;border-width: 2px;border-style: solid;margin-left: 8px;overflow: hidden;text-align: center;margin-top: 10px;float: left;
}
span i {font-weight: 600;
}
.color1 {border-color: #ff6b36;background: rgba(255, 107, 54, 0.3);color: #ff6b36;
}
.color2 {border-color: #ffad29;background: rgba(255, 173, 41, 0.3);color: #ffad29;
}
.color3 {border-color: #ffda21;background: rgba(255, 218, 33, 0.3);color: #ffda21;
}
.color4 {border-color: #29e98f;background: rgba(41, 233, 143, 0.3);color: #29e98f;
}
.color5 {border-color: #1eede6;background: rgba(30, 237, 230, 0.3);color: #1eede6;
}
.color6 {border-color: #2a8dff;background: rgba(42, 141, 255, 0.3);color: #2a8dff;
}
.color7 {border-color: #cc16ef;background: rgba(204, 22, 239, 0.3);color: #cc16ef;
}
.color8 {border-color: #f53abd;background: rgba(245, 58, 189, 0.3);color: #f53abd;
}
</style>

相关文章:

【vue+amap】高德地图绘制多边形区域

参考文档&#xff1a; 高德地图参考手册 高德地图示例代码 1、高德地图控制台创建应用&#xff0c;获取权限ak 高德地图控制台 Ps.本项目里按钮等基础控件使用的是element-ui版本控件 2、项目内全局引入 index.html内引入高德地图代码&#xff1a; <script type"te…...

自定义Graph Component:1.2-其它Tokenizer具体实现

本文主要介绍了Rasa中相关Tokenizer的具体实现&#xff0c;包括默认Tokenizer和第三方Tokenizer。前者包括JiebaTokenizer、MitieTokenizer、SpacyTokenizer和WhitespaceTokenizer&#xff0c;后者包括BertTokenizer和AnotherWhitespaceTokenizer。 一.JiebaTokenizer   Ji…...

docker-compose 部署 MySQL 8

目录 前言MySQL 配置文件(my.cnf)docker-compose.yml安装卸载 前言 Windows/Linux 系统通过 docker-compose 部署 MySQL8.0。 MySQL 配置文件(my.cnf) # 服务端参数配置 [mysqld] usermysql # MySQL启动用户 default-storage-engineINNODB # 创建新表时…...

Java设计模式-结构型模式-适配器模式

适配器模式 适配器模式应用场景案例类适配器模式对象适配器模式接口适配器模式适配器模式在源码中的使用 适配器模式 如图&#xff1a;国外插座标准和国内不同&#xff0c;要使用国内的充电器&#xff0c;就需要转接插头&#xff0c;转接插头就是起到适配器的作用 适配器模式&…...

CCF编程能力等级认证GESP—C++4级—样题1

CCF编程能力等级认证GESP—C4级—样题1 单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09;判断题&#xff08;每题 2 分&#xff0c;共 20 分&#xff09;编程题 (每题 25 分&#xff0c;共 50 分)第一题 绝对素数第二题 填幻方 参考答案单选题判断题编程题1编程题…...

Git用pull命令后再直接push有问题

在gitlab新建一个项目&#xff0c;然后拉取到本地&#xff0c;用&#xff1a; git init git pull <远程主机名> 然后就是在本地工作区增加所有文件及文件夹。再添加、提交&#xff0c;都没问题&#xff1a; 但是&#xff0c;git push出问题&#xff1a; 说明本地仓库和…...

C语言不可不敲系列:跳水比赛排名问题

目录 1题干&#xff1a; 2解题思路&#xff1a; 3代码: 4运行结果: 5总结: 1题干&#xff1a; 5位运动员参加了10米台跳水比赛&#xff0c;有人让他们预测比赛结果 A选手说&#xff1a;B第二&#xff0c;我第三&#xff1b; B选手说&#xff1a;我第二&#xff0c;E第四&am…...

Python与ArcGIS系列(二)获取地图文档

目录 0 简述1 获取当前地图文档2 获取磁盘中的地图文档3 获取地图文档的图层0 简述 本篇开始介绍实际代码操作,即利用arcpy(python 包)执行地理数据分析、数据转换、数据管理和地图自动化。通过arcpy调用ArcGIS中任意工具,将其与其他python工具结合使用,形成自己的工作流…...

Ansible自动化部署工具-role模式安装filebeat实际案例分析

语法以及实际案例 平时我们在进行日志收集的时候&#xff0c;往往会在每台机器上安装filebeat&#xff0c;并且由于每台机器运行服务的不同&#xff0c;那么收集日志的配置文件也是不一样的&#xff0c;如何快速高效的部署filebeat以及拥有不同的配置文件就是我们要思考的问题&…...

B2B企业如何打造独立站:从策略到实施的全面指南

随着数字化转型的加速&#xff0c;B2B企业越来越认识到独立站的重要性。然而&#xff0c;如何建设一个优秀的独立站&#xff0c;以及如何将独立站与企业的整体战略相结合&#xff0c;是许多企业面临的挑战。本文将详细探讨B2B企业如何从策略到实施打造一个成功的独立站。 一、…...

JAVA 中集合取交集

日常工作 经常需要取两个数据集的交集。对常用的List 和Set集合做了一个测试 public static void main(String[] args) {List<Integer> list1 Lists.newArrayList();List<Integer> list2 Lists.newArrayList();Set<Integer> set3 Sets.newHashSet();Set&l…...

Android13 Launcher3 定制

去掉Google搜索栏 aosp/packages/apps/Launcher3/src_build_config/com/android/launcher3/BuildConfig.java 修改QSB_ON_FIRST_SCREEN为false public static final boolean QSB_ON_FIRST_SCREEN false;去掉抽屉菜单&#xff0c;所有应用都放到桌面 增加控制变量 aosp/pac…...

其他word转化为PDF的方式

将 Word 文档转换为 PDF 格式&#xff0c;除了使用 COM 自动化外&#xff0c;还有其他一些方法可以在 Java 中实现。这些方法通常更加可靠和跨平台。以下是一些常用的方法&#xff1a; 1. 使用 Apache POI 和 Apache PDFBox 这种方法涉及使用 Apache POI 库读取 Word 文档&am…...

【Axure】axure rp 导入元件库和使用,主流元件库下载使用

vant 元件库下载&#xff1a;Vant4 设计资源 element UI 元件库下载&#xff1a;element ui 设计资源 Andt Design Vue 下载设计资源&#xff1a;Andt Design Vue Andt Design Pro下载设计资源&#xff1a;Andt Design Pro Arco Design 设计资源&#xff1a;Arco Design …...

ISP 处理流程

#灵感# 摆烂时间太长了&#xff0c;感觉知识忘光光了。重新学习&#xff0c;常学常新。 因为公司文档都不让摘抄、截取&#xff0c;所以内容是工作的一些自己记录和网络内容&#xff0c;不对的欢迎批评指正。 1、ISP概述 ISP是Image Signal Processor 的简称&#xff0c;也就…...

【计算思维】少儿编程蓝桥杯青少组计算思维题考试真题及解析C

【科技素养】少儿编程蓝桥杯青少组计算思维题考试真题及解析 1.天平的左右两端分别放有一些砝码&#xff0c;如下图所示&#xff0c;右边的砝码不变&#xff0c;从左边最多拿走几个砝码&#xff0c;可以使天平左右两边平衡&#xff1a; A、1 B、2 C、3 D、4 2.把下面的图形…...

百望云斩获“新华信用金兰杯”ESG优秀案例 全面赋能企业绿色数字化

近年来&#xff0c;中国ESG蓬勃发展&#xff0c;在政策体系构建、ESG信披ESG投资和国际合作等方面都取得了阶段性成效&#xff0c;ESG生态不断完善。全社会对ESG的认识及实践也在不断深化&#xff0c;ESG实践者的队伍在不断发展壮大。 ESG作为识别企业高质量发展的重要指标&…...

bclinux aarch64 ceph 14.2.10 对象存储 http网关 CEPH OBJECT GATEWAY Civetweb

相关内容 bclinux aarch64 ceph 14.2.10 文件存储 Ceph File System, 需要部署mds&#xff1a; ceph-deploy mds-CSDN博客 ceph-deploy bclinux aarch64 ceph 14.2.10【3】vdbench fsd 文件系统测试-CSDN博客 ceph-deploy bclinux aarch64 ceph 14.2.10【2】vdbench rbd 块设…...

2023年亚太杯数学建模思路 - 复盘:人力资源安排的最优化模型

文章目录 0 赛题思路1 描述2 问题概括3 建模过程3.1 边界说明3.2 符号约定3.3 分析3.4 模型建立3.5 模型求解 4 模型评价与推广5 实现代码 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 描述 …...

【广州华锐互动】VR居家防火逃生模拟演练增强训练的真实性

VR软件开发公司广州华锐互动在消防培训领域已开发了多款VR产品&#xff0c;今天为大家介绍VR居家防火逃生模拟演练系统&#xff0c;这是一种基于虚拟现实技术的消防教育训练设备&#xff0c;通过模拟真实的火灾场景&#xff0c;让使用者身临其境地体验火灾逃生过程&#xff0c;…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈&#xff0c;并不断增加特征维度持续测试」的做法&#xff0c;体现了一种逐步建模与迭代验证的实验思路&#xff0c;在金融欺诈检测中非常有价值&#xff0c;本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...