前端点击地图上的位置获取当前经纬度

地图封装组件

<template><div id="container"></div>
</template>
<script>import AMapLoader from '@amap/amap-jsapi-loader';export default {name: "Mapview",props:{mapinfo:{type:Object,default:function(){return {}}},maptype:{type:String,default:''}},data() {return {map:null,isDraw:false,editpology:null,polyEditor:null,wz:null,loca:null}},watch:{mapinfo(newdata){if(newdata.data != null){console.log(newdata)}}},created() {},mounted() {this.initAMap();console.log(this.mapinfo)},methods: {initAMap() {AMapLoader.load({key: '16e7ac6ee499a277e372a63e39cbdee9',  //设置您的keyversion: "2.0",plugins: ['AMap.ToolBar', 'AMap.Driving',"AMap.MouseTool","AMap.PolygonEditor"," AMap.MapType","AMap.Polygon","AMap.Marker"],AMapUI: {version: "1.1",plugins: [],},Loca: {version: "2.0"},}).then((AMap) => {let _this = this;if(this.maptype){var satelliteLayer = new AMap.TileLayer.Satellite();this.map = new AMap.Map("container", {viewMode: "3D",zoom: 10,/* pitch:60, */skyColor :'#1682a9',layers:[satelliteLayer],zooms: [2, 22],});/* this.map.addControl(new AMap.MapType({defaultType:1 //0代表默认,1代表卫星})); *//* AMapUI.loadUI(['control/BasicControl'], function(BasicControl) {//图层切换控件_this.map.addControl(new BasicControl.LayerSwitcher({position: 'rt'}));}) */}else{this.map = new AMap.Map("container", {zoom: 10,pitch:60,zooms: [2, 22],});AMapUI.loadUI(['control/BasicControl'], function(BasicControl) {//添加一个缩放控件_this.map.addControl(new BasicControl.Zoom({position: 'lt'}));//缩放控件,显示Zoom值_this.map.addControl(new BasicControl.Zoom({position: 'lb',showZoomNum: true}));//图层切换控件_this.map.addControl(new BasicControl.LayerSwitcher({position: 'rt'}));});}this.loca = new Loca.Container({map: this.map});/* this.map.addControl(new AMap.MapType({defaultType:0})) */_this.addClickEvent()_this.map.on('complete', function() {if(_this.$parent.getmapinfo){_this.$parent.getmapinfo()}else{_this.$emit('initmap')let styleName = "amap://styles/fresh";_this.map.setMapStyle(styleName);}})}).catch(e => {console.log(e);})},addClickEvent(){let _this = thisvar clickHandler = function(e) {console.log(e.target)if(this.marker == null){this.marker =  new AMap.Marker({position: [e.lnglat.getLng(),e.lnglat.getLat()]});this.marker.setMap(_this.map);}else{this.marker.setPosition([e.lnglat.getLng(),e.lnglat.getLat()])}_this.wz = [e.lnglat.getLng(),e.lnglat.getLat()]_this.$emit("getmaplocl",[e.lnglat.getLng(),e.lnglat.getLat()])};// 绑定事件this.map.on('click', clickHandler);// 解绑事件//this.map.off('click', clickHandler);},addPolygon(data){data =JSON.parse(data)let polygon = new AMap.Polygon({path: data,/* fillColor: '#ccebc5',strokeOpacity: 1,fillOpacity: 0.5,strokeColor: '#2b8cbe',strokeWeight: 1,strokeStyle: 'dashed',strokeDasharray: [5, 5], */});this.map.add(polygon)polygon.on('click',()=>{alert(1)this.editpology = polygonthis.edit()})this.map.setFitView()},addPolygons(data,name,id){data =JSON.parse(data)let polygon = new AMap.Polygon({path: data,/* fillColor: '#ccebc5',strokeOpacity: 1,fillOpacity: 0.5,strokeColor: '#2b8cbe',strokeWeight: 1,strokeStyle: 'dashed',strokeDasharray: [5, 5], */});polygon.on('click',()=>{this.$emit('clickpoly',id)})var text = new AMap.Text({position: polygon.getBounds().getCenter(),anchor: 'bottom-center',text: name,style: {color:'white','background-color':'rgba(220,38,38,0)','border':'none'},});text.on('click',()=>{this.$emit('clickpoly',id)})text.addTo(this.map)this.map.add(polygon)},addmarks(data,id){let marker =  new AMap.Marker({position: data});marker.on('click',()=>{//alert(id)this.$emit('clickmarker',id)})marker.setMap(this.map);},fitview(){this.map.setFitView()},draw() {this.isDraw = true;this.mouseTool = new AMap.MouseTool(this.map);this.mouseTool.polygon({//fillColor: "#00b0ff",//strokeColor: "#80d8ff"//同Polygon的Option设置});this.mouseTool.on("draw", e => {// 监听画多边形结束console.log("draw");this.overlays = [];console.log(e.obj);console.log(e.obj.getArea())console.log(e.obj.getPath())console.log(e.obj.getOptions())console.log(e.obj)console.log(e.obj.getBounds().getCenter())// console.log(e.obj.getOptions().path)this.$emit("update:mapinfo",{area:e.obj.getArea(),data:e.obj.getOptions().path})var text = new AMap.Text({position: e.obj.getBounds().getCenter(),anchor: 'bottom-center',text: '文本标记',style: {'background-color':'rgba(220,38,38,0)','border':'none'},});text.addTo(this.map)this.overlays.push(e.obj);this.mouseTool.close();this.isDraw = false;});},edit() {//console.log("bianji");//let polygon = this.overlays[0];if(this.editpology == null){return}let polygon =  this.editpology;this.polyEditor = new AMap.PolygonEditor(this.map, polygon);// polyEditor.addAdsorbPolygons(polygon1)this.polyEditor.open();polygon.on("dblclick", () => {console.log("双击");this.polyEditor.close();});this.polyEditor.on("end", event => { // polyEditor  close关闭时执行console.log(event.target.getPath());this.$emit("update:mapinfo",{area:polygon.getArea(),data:polygon.getOptions().path})});},canceledit(){if(this.polyEditor){this.polyEditor.close()}},clearmap(){this.map.clearMap();},animate(){this.loca.animate.start();let speed = 1;let _this = this// 下钻this.loca.viewControl.addAnimates([{pitch: {value: 0,control: [[0, 20], [1, 0]],timing: [0, 0, 0.8, 1],duration: 3000 / speed,},zoom: {value: 15.9,control: [[0, 12.8], [1, 15.9]],timing: [0, 0, 0.8, 1],duration: 3000 / speed,},rotation: {value: -20,control: [[0, 20], [1, -20]],timing: [0, 0, 0.8, 1],duration: 2000 / speed,},}/* ,{pitch: {value: 0,control: [[0, 0], [1, 100]],timing: [0.1, 0, 0.7, 1],duration: 2000 / speed,},rotation: {value: 360,control: [[0, 260], [1, 361]],timing: [0.3, 0, 0.7, 1],duration: 2000 / speed,},zoom: {value: 10.8,control: [[0, 17.5], [1, 13.8]],timing: [0.3, 0, 0.7, 1],duration: 2500 / speed,},} */,{// 环绕pitch: {value: 0,control: [[0, 40], [1, 50]],timing: [0.3, 0, 1, 1],duration: 7000 / speed,},rotation: {value: 360,control: [[0, -80], [1, 260]],timing: [0, 0, 0.7, 1],duration: 7000 / speed,},zoom: {value: 11,control: [[0.3, 16], [1, 17]],timing: [0.3, 0, 0.9, 1],duration: 5000 / speed,},}], function () {});}}}
</script><style scoped>#container {padding: 0px;margin: 0px;width: 100%;height: 100%;position: absolute;}
</style>

在vue页面内引入
import gdmap from ‘组件路径’
父子组件传参
父组件内

<gdmap @getmaplocl="getmaplocal" />methods:{getmaplocal(data){console.log(data)this.form.equipmentLongitude = data.join(',')},
}

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

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

相关文章

AI-数学-高中-45函数单调性与导数

原作者视频&#xff1a;【导数】【一数辞典】5函数单调性与导数&#xff08;重要&#xff09;_哔哩哔哩_bilibili 导数最重要作用&#xff1a;判断函数单调性。 示例&#xff1a;

新风口下的必应bing国内广告投放该怎么做?

必应Bing作为全球搜索引擎市场的重要参与者&#xff0c;正逐渐显现出其在国内市场的独特价值和潜力。随着互联网生态的多元化发展&#xff0c;必应Bing凭借其高质量用户群和精准投放能力&#xff0c;成为了企业寻求新增长点的新风口。 一、洞察先机&#xff0c;精准定位市场 …

运营版游戏陪玩平台源码/tt语音聊天/声优服务/陪玩系统源码开黑/约玩源码

简述 一个人的游戏叫孤独&#xff0c;一群人的游戏才是乐趣&#xff0c;随着电竞产业在国内的快速发展&#xff0c;游戏陪练行业也迅速成长&#xff0c;现在很多游戏玩家为了追求更高质量的游戏体验感&#xff0c;往往会在玩游戏的过程中找陪练&#xff0c;通过陪玩系统进行预…

python绘制等高线图

在Python中&#xff0c;可以使用matplotlib和numpy库来绘制等高线图&#xff08;contour plot&#xff09;。等高线图通常用于显示三维数据的二维投影&#xff0c;其中颜色或线条的密度表示第三维的值。 以下是一个简单的示例&#xff0c;说明如何使用这些库来创建等高线图&am…

欧姆龙FZ5-L355维修工业视觉系统主机电脑主板Omron FZ5 L355深圳捷达工控维修

工业计算机&#xff1a;坚固耐用&#xff0c;为机器视觉做好准备 由于其重要性和及时性&#xff0c;质量控制已被确定为生产的主要瓶颈之一。借助机器视觉&#xff0c;物联网设备和机器视觉系统协同工作&#xff0c;以超人的准确性和速度实现质量控制流程自动化。然而&#xf…

Recat学习

1&#xff0c;创建 项目搭建 npm config set registry http://registry.npm.taobao.org/ // 安装yarn npm install -g yarn // 安装cnpm npm install -g cnpm -registryhttps://registry.npm.taobao.org //设置国内源 yarn config set registry https://registry.npm.taobao.o…

租用新加坡服务器部署wordpress如何加速?

要加速在新加坡服务器上部署WordPress&#xff0c;可以采取以下一些措施&#xff1a; 1. 选择性能优越的主机提供商&#xff1a;选择具有优质硬件、高性能网络和优化服务器配置的主机提供商。确保服务器的硬件资源充足&#xff0c;网络连接稳定&#xff0c;以提高WordPress网站…

常用的JDK9-JDK17的一些新增语法特性

目录 1.前言2.一些新增的特性2.1 yield关键字2.2 var关键字2.3 空指针异常2.4 密封类2.5 接口中的私有方法2.6 instanceof2.7 其他 1.前言 从springboot3.0开始&#xff0c;已经不⽀持JDK8了。参考资料 &#xff1a;Spring官方博客。从3.0开始&#xff0c;转变为JDK17。 官方…

Node+Vue3+mysql+ant design实现前后端分离——表格的添加、修改和删除

在上一篇文章中,我们分享了如何运用NodeJS、Vue、MySQL以及其他技术来实现后台管理系统中的表格查询功能。今天,我们将继续探讨另外三个重要的功能实现原则。这些原则在构建后台管理系统时至关重要,同时还有导入和导出这两种功能也必不可少。关于导入和导出功能,我们会在下…

2024.4月最新的高额度Hostinger优惠券、优惠代码、优惠链接

优惠链接&#xff1a;https://hostinger.com?REFERRALCODE1RAY132 以上优惠链接最低可获取30%折扣&#xff0c;以Cloud Startup版本为例&#xff0c;四年期直接购买价格为480 &#xff0c;使用以上优惠链接购买价为 380 &#xff0c;使用以上优惠链接购买价为380 &#xff0c…

CUDA的开发框架

CUDA的开发框架主要提供了一系列工具和库&#xff0c;使得开发者可以充分利用NVIDIA GPU进行高效的并行计算。以下是CUDA开发框架的一些关键组成部分。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.CUDA核心库&#xff1a;这些是构…

C++设计模式:中介者模式(十五)

1、定义与动机 定义&#xff1a;用一个中介对象来封装&#xff08;封装变化&#xff09;一系列的对象交互。中介者使各个对象不需要显示的相互引用&#xff08;编译时依赖 -> 运行时依赖&#xff09;&#xff0c;从而使其耦合松散&#xff08;管理变化&#xff09;&#xff…

vue3+node.js+mysql+ant design实现表格的查询功能

今日主要分享如何运用vue、nodejs、mysql及ant design构建表格数据查询功能&#xff0c;这也是众多项目开发者关注的问题。最关键在于前端与后端的协作&#xff0c;后端数据则通过nodejs编写。尽管涉及多项技术&#xff0c;看似复杂&#xff0c;但实际操作却并非困难。当然&…

企业如何建立网络事件应急响应团队?

企业如何建立网络事件应急响应团队&#xff1f; 一、应急响应中每一秒都很重要二、选择外包服务还是建立自己的网络安全应急响应团队&#xff1f;三、您的应急响应团队需要谁&#xff1f;1. 应急响应小组2. 技术支持和监控团队 四、应急响应小组1. 安全分析工程师 – 具有网络、…

Selenium 使用指南

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 Selenium是网页应用中最流行的自动化测试工具&#xff0c;可以用…

LM324的输出VOL与IOL你注意过吗?

电路图 途中LMC6084 更改为LM324 故障现象 这个电路的输入输出表达式为 R30 两端电压等于0V 当J16 的4脚与2脚相等&#xff0c;等于5V&#xff08;或者4脚略大于2脚时&#xff09;7脚输出 约 500mV&#xff1b; 实际应该为0V左右才对.见下图 故障原因 上图运放输出低电平…

【ENSP】VRRP配置方法

VRRP配置步骤 1.配置虚拟ip地址作为网关&#xff0c;进行切换路由器 2.配置vrrp优先级&#xff0c;越大越优先 3.配置延迟抢占时间 4.配置备份组监视接口 AR1路由器配置 u t m #关闭提示 sys …

java POI解析Excel大文件,获取表头

目录 前言依赖代码StreamingReader的openWorkbookFactory的createCSV解析首行 前言 poi解析大文件可能出现oom&#xff0c;通样大小文件&#xff0c;xlsx会oom&#xff0c;xls不会&#xff0c;所以使用流式的方式改造解析xlsx文件的代码。 我的需求是提取每一页的表头&#xf…

创建Maven项目的时候让选择maven模板

创建Maven项目的时候让选择maven模板 心得 工欲利其事 必先利其器。如果你想要干成一件事 那么必须先要精通对应的工具使用。之前我不太注重工具 我觉得只要代码写的好就可以了 但是当我们了解了产品经理的一些思想之后&#xff0c;我才明白一个好的产品是可以给用户提供多大…

wasm 系列之 WebAssembly 和 emscripten 暴力上手

wasm 是什么&#xff1f; wasm 是 WebAssembly 的缩写。wasm 不是传统意义上的汇编语言&#xff0c;而是一种编译的中间字节码&#xff0c;可以在浏览器和其他 wasm runtime 上运行非 JavaScript 类型的语言&#xff0c;只要能被编译成 wasm&#xff0c;譬如 kotlin/wasm、Rus…