【地图之vue-baidu-map】点击获取坐标(点Marker)、坐标集(多边形polygon)

news2024/9/27 23:28:52

点击获取坐标(点Marker)

官网链接:Vue Baidu Map

需求

1.点击某点设置该点为中心点

2.获取点的经纬度

3.确定选取成功,取消就不赋值。 

实现步骤

第一步:设置打开弹窗的地方

<el-button @click="clickAddress">项目坐标</el-button>

第二步:设置初始值

data() {
  return {
    center: { lng: 118.83, lat: 31.95 },
    zoom: 13,
    adr: '',
    dialogVisible: false,
  }
}

第三步:打开弹窗,将中心点清空,如果是编辑状态将经纬度赋值给弹窗中的经纬度。

clickAddress() {
  this.dialogVisible = true;
  this.adr = this.form.latLng
  let latLng = this.adr.split(',')
  this.center = {
    lng: latLng[0],
    lat: latLng[1],
  };
},

第四步:设置弹窗

getClickInfo 获取当前点击的经纬度,赋值中心点给marker。并且将当前经纬度显示出来

<bm-marker> 设置当前点击的位置marker点

<el-dialog title="项目坐标" :visible.sync="dialogVisible" width="50%">
  <baidu-map
    center="江宁"
    :zoom="zoom"
    @ready="handler"
    style="height: 600px"
    @click="getClickInfo"
    :scroll-wheel-zoom="true"
  >
    
    <bm-navigation anchor="BMAP_ANCHOR_TOP_RIGHT"></bm-navigation>

    <bm-marker
      :position="center"
      :dragging="true"
      animation="BMAP_ANIMATION_BOUNCE"
    >
    </bm-marker>

    <bm-geolocation
      anchor="BMAP_ANCHOR_BOTTOM_RIGHT"
      :showAddressBar="true"
      :autoLocation="true"
    ></bm-geolocation>

  </baidu-map>

  <div class="latitude">经纬度:{{ latitude }}</div>

  <span slot="footer" class="dialog-footer">
    <el-button @click="dialogVisible = false">取 消</el-button>
    <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
  </span>
</el-dialog>
handler({ BMap, map }) {
  console.log(BMap, map);
},

getClickInfo(e) {
  this.center.lng = e.point.lng;
  this.center.lat = e.point.lat;
  this.adr = e.point.lng + "," + e.point.lat;
},

 第五步:取消就直接关闭弹窗,如果确定就将弹窗中的经纬度赋值给表单中的form.latLng

dialogCancel() {
  this.dialogVisible = false;
},
dialogSubmit() {
  this.form.latLng = this.adr
  this.dialogVisible = false;
}

点击获取坐标集(多边形polygon)

官网链接:Vue Baidu Map

需求

1. 绘制多边形

实现步骤

第一步:设置打开弹窗的地方

<el-button @click="clickAddress">坐标集</el-button>

第二步:设置初始值

data() {
  return {
    center: { lng: 118.83, lat: 31.95 },
    zoom: 13,
    dialogVisible: false,
    polygonPath: []
  }
}

第三步:打开弹窗,将中心点清空,如果是编辑状态赋值坐标点

clickAddress() {
  this.dialogVisible = true;
  this.polygonPath = this.form.latLng.length > 0 ? this.form.latLng : []
},

第四步:设置弹窗

getClickInfo 获取当前点击的经纬度,赋值点给polygonPath。并且将所有经纬度显示出来

<bm-polygon> 设置多边形

<el-dialog title="项目坐标集" :visible.sync="dialogVisible" width="50%">
  <baidu-map
    center="江宁"
    :zoom="zoom"
    @ready="handler"
    style="height: 600px"
    @click="getClickInfo"
    :scroll-wheel-zoom="true"
  >
    
   <bm-polygon 
      :path="polygonPath" 
      stroke-color="blue" 
      :stroke-opacity="0.5" 
      :stroke-weight="2" 
      :editing="true" 
      @lineupdate="updatePolygonPath"
    />

  </baidu-map>

  <div class="latitude">经纬度:
    <div v-for="(item,index) in polygonPath" :key="index">{{item.lng}},{{item.lat}}</div>    
  </div>

  <span slot="footer" class="dialog-footer">
    <el-button @click="dialogVisible = false">取 消</el-button>
    <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
  </span>
</el-dialog>
handler({ BMap, map }) {
  console.log(BMap, map);
},

getClickInfo(e) {
  this.polygonPath.push({lng: e.point.lng, lat: e.point.lat})
},

updatePolygonPath (e) {
  this.polygonPath = e.target.getPath()
},

 第五步:取消就直接关闭弹窗,如果确定就将弹窗中的经纬度赋值给表单中的form.latLng

dialogCancel() {
  this.dialogVisible = false;
},
dialogSubmit() {
  this.form.latLng = this.polygonPath
  this.dialogVisible = false;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/56050.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c# .net 树莓派/香橙派用到物联网包Iot.Device.bindings 支持设备说明文档

c# .net 树莓派&#xff08;进口&#xff0c;贵&#xff09;/香橙派&#xff08;国产&#xff0c;功能相同&#xff0c;性价比高&#xff09;用到物联网包Iot.Device.bindings 支持设备说明文档 我们c# .net 开发树莓派/香橙派都需要用到Iot.Device.bindings和System.Device.G…

阿里巴巴 Github 星标 57.9KJava 面试突击汇总(全彩版)首次公开

现在互联网大环境不好&#xff0c;互联网公司纷纷裁员并缩减 HC&#xff0c;更多程序员去竞争更少的就业岗位&#xff0c;整的 IT 行业越来越卷。身为 Java 程序员的我们就更不用说了&#xff0c;上班 8 小时需要做好本职工作&#xff0c;下班后还要不断提升技能、技术栈&#…

命令注入漏洞解析

漏洞简介 Atlassian Bitbucket Server 和 Data Center 是 Atlassian 推出的一款现代化代码协作平台&#xff0c;支持代码审查、分支权限管理、CICD 等功能。 受影响的Bitbucket Server 和 Data Center版本存在使用环境变量的命令注入漏洞&#xff0c;具有控制其用户名权限的攻…

代码随想录刷题记录day34 动态规划理论基础+斐波那契数+爬楼梯+使用最小花费爬楼梯

代码随想录刷题记录day34 动态规划理论基础斐波那契数爬楼梯使用最小花费爬楼梯 动态规划理论基础 解决的问题 由前一个状态决定了后一个的状态&#xff0c;可以用动态规划来解决。贪心是没有状态推导的。 解题步骤 确定dp数组&#xff08;dp table&#xff09;以及下标的…

一键集成 SQL 审核到你的 GitLab 和 GitHub CI/CD

本文以 GitLab 为例&#xff0c;GitHub 方式类似。 操作步骤 事先准备 开启 Bytebase 团队版&#xff08;从 v1.8.0 开始&#xff0c;你可以直接开启 14 天的团队版免费试用&#xff09;。 为你的 Bytebase workspace 和项目开启 VCS 工作流&#xff1a;https://www.bytebas…

基于钉钉通讯录,同步构建本地LDAP服务

上一篇《利用飞书通讯录同步搭建本地LDAP》方案发出后&#xff0c;引起不少企业 IT 人员共鸣。本次&#xff0c;宁盾针对使用了钉钉社交应用的企业推出基于钉钉通讯录&#xff08;组织架构和用户信息&#xff09;同步搭建本地 LDAP的方案。 钉钉已经成为很多企业日常处理工作的…

基于FPGA的智能小车系统

目 录 前 言 1 第1章 系统总体方案设计 4 1.1 系统任务描述 4 1.2 控制系统要求 4 1.3 方案设计与论证 4 1.3.1 小车载体选择 4 1.3.2 主控制器选择 5 1.3.3 传感器选择 5 1.3.4 电机驱动选择 6 1.3.5 稳压电源选择 7 1.3.6 智能小车系统最终方案 7 1.4 系统总体设计 8 1.4.…

【Java开发】 Spring 07 :Spring AOP 实践详解(通过 AOP 打印数据访问层)

AOP 指是面向切面编程&#xff08;通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术&#xff09;&#xff0c;利用AOP可以对业务逻辑的各个部分进行隔离&#xff0c;从而使得业务逻辑各部分之间的耦合度降低&#xff0c;提高程序的可重用性&#xff0c;同时提…

SpringBoot 3.0 新特性,内置声明式 HTTP 客户端

http interface 从 Spring 6 和 Spring Boot 3 开始&#xff0c;Spring 框架支持将远程 HTTP 服务代理成带有特定注解的 Java http interface。类似的库&#xff0c;如 OpenFeign 和 Retrofit 仍然可以使用&#xff0c;但 http interface 为 Spring 框架添加内置支持。 什么是…

RabbitMQ之集群方案原理

对于无状态应用&#xff08;如普通的微服务&#xff09;很容易实现负载均衡、高可用集群。而对于有状态的系统&#xff08;如数据库等&#xff09;就比较复杂。 1、业界实践 主备模式&#xff1a;单活&#xff0c;容量对等&#xff0c;可以实现故障转移。使用独立存储时需要借…

【Matplotlib绘制图像大全】(二十五):Matplotlib使用figure()添加画布

前言 大家好,我是阿光。 本专栏整理了《Matplotlib绘制图像大全》,内包含了各种常见的绘图方法,以及Matplotlib各种内置函数的使用方法,帮助我们快速便捷的绘制出数据图像。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmMatp…

2022re:Invent:亚马逊云科技拥有超过15年的数据创新经验

在探索适合企业的数据战略的道路上&#xff0c;企业并不孤单。亚马逊云科技有着超过15年的数据领域创新经验。并一直在尝试通过创新的方法去改进数据存储和分析的过程&#xff1a;亚马逊云科技在云中提供了第一个可扩展存储服务S3、发布了云上第一个专门构建的数据库DynamoDB和…

easyrecovery2023免费版电脑数据恢复软件下载功能介绍

误删了重要文件&#xff1f;电脑中毒数据丢失&#xff1f;本想拷贝却手抖格式化了&#xff1f;那可以试试easyrecovery&#xff0c;这是一款十分强大的电脑数据恢复软件&#xff0c;界面简洁明了&#xff0c;操作也是十分的简单&#xff0c;只需要根据文字提示来进行操作即可进…

B端产品实战课读书笔记:第七章B端产品常用功能设计

目录 一、工作台 二、列表 三、搜索/筛选 3.1输入框搜索 3.2 单选/复选筛选 3.3 独立/联动筛选 3.4 其他 四、审批 4.1概念 4.2扩展功能 4.3设计要点 五、用户--角色--权限 5.1 什么是RBAC模型 5.2单系统的用户权限设计 5.3多系统的用户权限设计 六、可视化 6.…

用HTML+CSS做一个漂亮简单的音乐网站

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

[附源码]计算机毕业设计springboot新能源汽车租赁

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

基于STM32G431嵌入式学习笔记——九、IIC总线(一)EEPROM

一、基础原理剖析 先前的实验中我们都是通过程序设计语言去调用串口、定时器、引脚等硬件设备进行从0到有的功能实现&#xff0c;所有的指令以及数据均来自程序设计语言&#xff0c;而没有想计算机一样将一些必要数据存入存储器中。 IIC总线是我们嵌入式板子上进行数据传输的主…

太简单了,一文彻底搞懂Jenkins的用法

程序员宝藏库&#xff1a;https://gitee.com/sharetech_lee/CS-Books-Store 你想要的&#xff0c;这里都有&#xff01; 我在前公司的某个部门做过一年CV算法工程师&#xff0c;部门推崇全栈式开发。换句话说&#xff0c;做算法&#xff0c;不能只聚焦于算法&#xff0c;要全流…

阿里云NAS存储部署简介

近期在阿里云上部署OCP需要用到NAS&#xff0c;其中遇到NAS无法扩容的问题&#xff0c;在此简单笔记。 1、部署NAS 参照github.com\kubernetes-sigs\alibaba-cloud-csi-driver\docs\nas.md部署说明&#xff0c;需要执行以下步骤&#xff1a; Step 1: Create RBAC resource …

四、伊森商城 前端基础-Vue MVVM思想Vue安装单向绑定 p21

目录 一、MVVM 思想 二、Vue 简介 2.1、安装 2.1.1、初始化vue项目 -y默认确定 2.1.2、安装上vue的2.6.11版本 三、Vue的单向绑定 一、MVVM 思想 M&#xff1a;即 Model&#xff0c;模型&#xff0c;包括数据和一些基本操作 V&#xff1a;即 View&#xff0c;视图&#xf…