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

高德地图,绘制矢量图形并获取经纬度

效果如图
在这里插入图片描述
在这里插入图片描述

我用的是AMapLoader这个地图插件,会省去很多配置的步骤,非常方便
首先下载插件,然后在局部引入

import AMapLoader from "@amap/amap-jsapi-loader";

然后在methods里面使用

  // 打开地图弹窗mapShow() {this.innerVisible = true;this.$nextTick(() => {this.initMap();});},// 初始化高德地图initMap() {AMapLoader.load({key: "你的key", //key值是key值 和安全密钥不同version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15plugins: ["AMap.GeoJSON", "AMap.MarkerClusterer", "AMap.MouseTool"], // 需要使用的的插件列表,用到的再次注册,如比例尺'AMap.Scale'等}).then((AMap) => {// 初始化地图this.map = new AMap.Map("DMAMap", {viewMode: "3D", // 是否为3D地图模式zoom: 13, // 初始化地图级别center: [120.987239, 31.391653], //中心点坐标resizeEnable: true,});this.map.setMapStyle("amap://styles/darkblue");this.drawPolygon();});},// 绘制多边形drawPolygon() {let mouseTool = new AMap.MouseTool(this.map);mouseTool.polygon({strokeColor: "#FF33FF",strokeOpacity: 1,strokeWeight: 6,strokeOpacity: 0.2,fillColor: "#1791fc",fillOpacity: 0.4,// 线样式还支持 'dashed'strokeStyle: "solid",// strokeStyle是dashed时有效// strokeDasharray: [30,10],});mouseTool.on("draw", (event) => {// event.obj 为绘制出来的覆盖物对象let path = event.obj.getPath(); // 获取多边形的路径let str = "";let pathArr = [];for (let i = 0; i < path.length; i++) {pathArr.push([path[i].getLng(), path[i].getLat()]);str += path[i].getLng() + "," + path[i].getLat() + " ";}this.geometryArr = pathArr; // 这个就是绘制的点的坐标数组this.addForm.latlng = str;  // 转换为字符串});},// 回显多边形getwPolygon() {let paths = this.addForm.latlng.split(" ");let pathsArr = paths.filter((item) => item).map((item) => item.split(",").map((i) => Number(i)));let polygon = new AMap.Polygon({path: pathsArr,strokeColor: "#FF33FF",strokeWeight: 6,strokeOpacity: 0.2,fillOpacity: 0.4,fillColor: "#1791fc",zIndex: 50,strokeStyle: "solid",});this.map.add(polygon);// 缩放地图到合适的视野级别this.map.setFitView([polygon]);let polyEditor = new AMap.PolyEditor(this.map, polygon);polyEditor.open(); // 开启编辑矢量图形功能polyEditor.on("addnode", (event) => {let path = event.target.getPath();this.filterPath(path); // 处理多边形的经纬度});polyEditor.on("adjust", (event) => {let path = event.target.getPath();this.filterPath(path); // 处理多边形的经纬度});polyEditor.on("removenode", (event) => {let path = event.target.getPath();this.filterPath(path); // 处理多边形的经纬度});polyEditor.on("end", (event) => {let path = event.target.getPath();this.filterPath(path); // 处理多边形的经纬度});},
http://www.lryc.cn/news/162050.html

相关文章:

  • 【100天精通Python】Day59:Python 数据分析_Pandas高级功能-多层索引创建访问切片和重塑操作,pandas自定义函数和映射功能
  • javaee springMVC 一个案例
  • Android T 窗口层级其三 —— 层级结构树添加窗口(更新中)
  • 【Linux】管道
  • postgre 12.11单实例安装文档
  • 使用LightPicture开源搭建私人图床:详细教程及远程访问配置方法
  • 基于视觉重定位的室内AR导航项目思路(1):最初的项目思路(SLAM)
  • 小白学go基础05-变量声明形式
  • 高可用Kuberbetes部署Prometheus + Grafana
  • ardupilot 安装gcc-arm-none-eabi编译工具
  • ORACLE集群管理-19C RAC重新配置IPV6
  • Mybatis实体类属性与数据库字段的对应关系
  • Unity(三) Shader着色器初探
  • 苹果电脑要安装杀毒软件吗?mac用什么杀毒软件好?
  • MySQL——索引
  • 110. 平衡二叉树
  • 遗忘因子递推最小二乘参数估计(FFRLS)
  • 【redis进阶】基础知识简要回顾
  • HTML5-3-表格
  • Spring Boot + Vue的前后端项目结构及联调查询
  • Transformer貌似也是可以使用state递归解码和训练的
  • 振弦采集仪应用地铁隧道安全监测详细解决方案
  • 2023 IntelliJ IDEA下载、安装教程, 附详细图解
  • 波卡生态重要动态一览:w3ndi 推出,首尔、新加坡、里斯本活动接踵而至
  • 成都瀚网科技有限公司:抖音商家怎么免费入驻?
  • vue Router从入门到精通
  • 【100天精通Python】Day56:Python 数据分析_Pandas数据清洗和处理(删除填充插值,数据类型转换,去重,连接与合并)
  • phpstudy本地快速搭建网站,并外网访问【无公网IP】
  • WebSocket的那些事(5-Spring STOMP支持之连接外部消息代理)
  • 【数据结构】单链表详解