vue 高德地图贴地点

效果图

在这里插入图片描述

引入高德api maps和local
local 用的2.0.0的 其他版本可能会有不兼容问题
在这里插入图片描述

mounted(){//设置 地图this.map = new AMap.Map('container', {mapStyle: '', // 设置地图的自定义样式-深色zoom: 7.3, //级别center: [119.1, 36.32], //中心点坐标viewMode: '3D', // 地图模式resizeEnable: true});//给map添加点击事件 点击放大this.map.on('click', this.mapClick);//设置 边界线this.initPro(370000, 1)//设置点 数据this.setGeoJSONSource()},			
methods:{
//设置贴地点 以及相应事件
setGeoJSONSource() {//黄色点let warningData = {"type": "FeatureCollection",features: [],};//红色点let InspectionData = {"type": "FeatureCollection",features: [],};//绿色点let normalData = {"type": "FeatureCollection",features: [],};//遍历赋值给响应的数据this.mapData.forEach((item, index) => {...})// 把容器赋值给变量this.LocaContainer = new Loca.Container({map: that.map,});//赋值给 GeoJSONSourcelet geo1 = new Loca.GeoJSONSource({data: warningData,});let geo2 = new Loca.GeoJSONSource({data: InspectionData,});let geo3 = new Loca.GeoJSONSource({data: normalData,});//设置 贴地呼吸点//正常点let scatter = new Loca.ScatterLayer({zIndex: 111,opacity: 1,visible: true,zooms: [2, 22],});//设置 数据以及样式scatter.setSource(geo3);scatter.setStyle({color: '#01FFCB',unit: 'px',size: [8, 8],borderWidth: 0,});this.LocaContainer.add(scatter);// 红色呼吸点let breathRed = new Loca.ScatterLayer({loca: that.LocaContainer,zIndex: 113,opacity: 1,visible: true,zooms: [1, 22],});breathRed.setSource(geo1);breathRed.setStyle({unit: 'px',size: [35, 35],borderWidth: 0,texture: '../images/breath_red.png',duration: 1000,animate: true,});// 黄色呼吸点let breathYellow = new Loca.ScatterLayer({loca: that.LocaContainer,zIndex: 112,opacity: 1,visible: true,zooms: [2, 22],});breathYellow.setSource(geo2);breathYellow.setStyle({unit: 'px',size: [30, 30],borderWidth: 0,texture: '../images/breath_yellow.png',duration: 1000,animate: true,});//动画 开启this.LocaContainer.animate.start();// 设置 弹窗this.marker = new AMap.Marker({content: "<div></div>",map: this.map,offset: new AMap.Pixel(30, 0)});this.map.on('mousemove', function(e) {const warning = breathRed.queryFeature(e.pixel.toArray());const Inspection = breathYellow.queryFeature(e.pixel.toArray());const normal = scatter.queryFeature(e.pixel.toArray());//判断是否有值if (warning != undefined) {that.overOuttC(warning)} else if (Inspection != undefined) {that.overOuttC(Inspection)} else if (normal != undefined) {that.overOuttC(normal)} else {that.marker.setLabel({content: null})}});this.map.on('click', function(e) {const warning = breathRed.queryFeature(e.pixel.toArray());const Inspection = breathYellow.queryFeature(e.pixel.toArray());const normal = scatter.queryFeature(e.pixel.toArray());//判断是否有值if (warning != undefined) {that.mapClickLoca(warning);} else if (Inspection != undefined) {that.mapClickLoca(Inspection);} else if (normal != undefined) {that.mapClickLoca(normal);}});},//划入划出弹窗overOuttC(e) {//设置坐标this.marker.setPosition(e.coordinates);//设置内容this.marker.setLabel({content: `<div class='customer_loock'><p>${e.properties.name} </p></div>`;})},//地图点击事件mapClickLoca(e) {//设置 按钮let contentBox = `<button οnclick="btnClick(${e.properties.id})">按钮</button>`;//设置坐标this.marker.setPosition(e.coordinates);this.marker.setLabel({content: `<div class="amap_waker"><div class="amap_waker_btn">` + contentBox + `</div><span οnclick="closeWaker()" class="waker_close">×</span></div>`})// 先获取vue的thislet _this = this;// 在上面绑定的btnClick方法window.btnClick = (id) => {// 使用_this可以继续调用vue中的属性和方法,也可以完成绑定事件}window.closeWaker = () => {// 使用_this可以继续调用vue中的属性和方法,也可以完成绑定事件let dom = document.getElementsByClassName("amap-marker-label")[0];dom.style.display = "none";}},//创建省份initPro(code, dep) {var disProvince;dep = typeof dep == 'undefined' ? 2 : dep;var adCode = code;var depth = dep;disProvince && disProvince.setMap(null);disProvince = new AMap.DistrictLayer.Province({zIndex: 12,adcode: [code],depth: dep,styles: {'fill': function(properties) {// properties为可用于做样式映射的字段,包含// NAME_CHN:中文名称// adcode_pro// adcode_cit// adcodevar adcode = properties.adcode;},'province-stroke': 'cornflowerblue','city-stroke': 'rgba(34,209,242,1)', // 中国地级市边界'county-stroke': 'rgba(34,209,242,1)' // 中国区县边界}});//设置map地图disProvince.setMap(this.map);},//地图返回amapBack() {let zoom = 7.3;this.map.setZoomAndCenter(zoom, [119.1, 36.32]);},//地图点击放大mapClick(e) {let _this = this;var lnglatXY = [e.lnglat.getLng(), e.lnglat.getLat()]; //地图上所标点的坐标var getzoom = _this.map.getZoom();if (getzoom < 8) {_this.map.setZoom(10)var zoom = 10;_this.map.setZoomAndCenter(zoom, lnglatXY); //同时设置地图层级与中心点}},
}
//销毁
destroyed() {this.websock.close() this.map.destroy();this.map = null;this.marker.destroy();this.marker = null;this.LocaContainer.destroy();this.LocaContainer=null;
},

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

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

相关文章

iOS 跳转到地图后导航(高德地图,百度地图,腾讯地图,苹果手机原生的地图)

1.现在info.plist里面如下图所示添加 2.在下图输入框中输入地名&#xff0c;然后点击前往目的地会出现如下图所示。&#xff08;如果你不知道地方名如何转化为经纬度请看我的另一篇博客&#xff1a;http://blog.csdn.net/chenyongkai1/article/details/51891135&#xff09; 3.…

高德导航免费,那他靠什么收入?

来源 &#xff5c;一口Linux 一位工作了12年的软件工程师说&#xff1a;当你打开导航时&#xff0c;不需要任何费用&#xff0c;还会给高德公司带来丰厚的收入。当时我不信&#xff0c;去查了相关资料后&#xff0c;才知道这个行业不简单。 出门外出&#xff0c;对路线不熟时&a…

C++编译一些常见的错误集锦

1、段错误&#xff08;Segmentation Fault&#xff09; &#xff08;1&#xff09;段错误&#xff08;Segmentation Fault&#xff09;是一种常见的计算机程序错误&#xff0c;通常指向程序试图访问的内存地址超出了程序可访问的内存范围&#xff0c;或者指针指向了无效的内存…

分布式光伏发电远程监控系统

分布式光伏发电远程监控系统 项目背景 新能源、可再生能源接入电网是智能电网建设的重要组成&#xff0c;也是能源互联网发展的基础。近年来&#xff0c;太阳能光伏发电技术快速发展&#xff0c;光伏发电并网对配电网的影响也不断加深。电网调度人员需要人工参与光伏发电站的发…

短视频矩阵源码技术开发

短视频矩阵是一种常见的视频编码标准&#xff0c;它通过将视频分成多个小块并对每个小块进行压缩来实现高效的视频传输。在本文中&#xff0c;我们将介绍短视频矩阵的原理和实现&#xff0c;并提供示例代码。 $where_time array(); // 时间 $where_time[] array(name>fbr…

运用正则表达式匹配QQ邮箱

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.首先创建一个新文件夹 1.命名好名字后用Visual Studio Code打开 创建一个HTML文档用&#xff01;字符按下tab键后完成基本格式 创建一个input标签占位符写下请输入QQ邮箱再给他一个id方便调用 …

html5form表单提交到QQ邮箱,javaMai+Springl实现给QQ邮箱发邮件(带附件,html格式)...

以前的时候想着java发邮件很简单,因为当时使用的是outlook实现的,有兴趣的可以去看看之前的两篇博客文章,1.使用java底层实现邮件的发送(含测试,源码) 和 2.使用Spring实现邮件的发送(含测试,注释,源码) 就在今天,遇到的需求是给一个QQ邮箱发一份邮件,刚看到需求一看…

Linux向qq邮箱发送html表格以及遇到的问题

由于是实验&#xff0c;做的比较简陋&#xff0c;邮箱直接显示html界面&#xff0c;有诸多要求&#xff0c;本人对html不太擅长&#xff0c;详情可以参考http://www.ruanyifeng.com/blog/2013/06/html_email.html linux向qq发送邮件参考另一篇博客&#xff1a; https://blog.cs…

PGP加密解密QQ邮箱邮件

今天学习了PGP加密解密QQ邮箱邮件的方法&#xff0c;分享一下&#x1f601;&#x1f601;&#x1f601;&#x1f601; 涉及软件&#xff1a;PGP(PGP Desktop)、Outlook(office的) 加密&#xff1a; 第一步&#xff1a;安装PGP软件&#x1f602;&#x1f602;&#x1f602; 具体…

qq邮箱发html版式是乱的,为什么在Word里编辑的内容到QQ邮箱里发给别人是乱的,我用附件发的呀...

为什么在Word里编辑的内容到QQ邮箱里发给别人是乱的,我用附件发的呀以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 为什么在Word里编辑的内容到QQ邮箱里发给别人是乱的,我用附件发的呀, 为什么在Word里编辑好的…

ipad查看qq邮箱收件服务器,ipad怎么设置qq邮箱以便通过iPad来接收QQ邮箱收到的邮件...

大家可以通过下文来了解&#xff0c;小编将会演示ipad怎么设置qq邮箱&#xff0c;设置成功之后我们就能通过iPad来接收QQ邮箱收到的邮件&#xff0c;快来操作吧~ 下文是以iPhone设置QQ邮箱为例&#xff0c;和iPad步骤是一样的哦&#xff0c;首先进入“Mail”&#xff0c;点击“…

SpringCloud Gateway网关多路由配置访问404解决方案

文章目录 一、问题描述&#xff1a;SpringCloud GateWay Eureka访问出现404&#xff0c;Not Found二、解决方案:1、 配置 filters: - StripPrefix12、删除冲突依赖3、检查启动类4、检查配置文件 一、问题描述&#xff1a;SpringCloud GateWay Eureka访问出现404&#xff0c…

这才叫软件测试工程师,你那最多是混口饭吃罢了....

前些天和大学室友小聚了一下&#xff0c;喝酒喝大发了&#xff0c;谈天谈地谈人生理想&#xff0c;也谈到了我们各自的发展&#xff0c;感触颇多。曾经找工作我迷茫过、徘徊不&#xff0c;毕业那会我屡屡面试失败&#xff0c;处处碰壁&#xff1b;工作两年后我一度想要升职加薪…

QQ截图快捷键设置

1、打开qq找到主菜单找到设置 2、找到热键----------点击设置热键 3、双击捕捉屏幕进行设置快捷键 然后就OK了。

C#高仿腾讯QQ截图程序

最近把以前制作的截图程序重新写了一下 动了一个大手术 高质量仿照的TX的截图程序 源码下载1(2012-12-09) http://download.csdn.net/detail/crystal_lz/4863320 源码下载2(2012-12-15) http://download.csdn.net/download/crystal_lz/4889763 新改版见&#xff1a;http:/…

【2022-10-19】让Mac QQ自带截图软件单独运行 / 节省大量系统内存 / 快捷截图 / ScreenCapture QQ/ QQ jietu plugin

相信用过Window QQ自带的截图工具的朋友&#xff0c;都会说一句&#xff1a;”真TM好用&#xff01;“&#xff0c;同样Mac QQ也自带了这样一款截图工具&#xff0c;但肯定没Window下这么好用&#xff0c;但是在Mac上应该也是数一数二的&#xff0c;我看了下界面&#xff0c;跟…

QQ截图工具截取

邮箱截图插件 TXGYMailCamera.dll(X86) Export: CameraWindow CameraSubArea CameraWindowLikeSpy 调用参数&#xff1a; rundll32 TXGYMailCamera.dll CameraWindow 微信截图插件 PrScrn.dll(X86) Export: PrScrn 调用参数&#xff1a; rundll32 PrScrn.dll PrScrn 下载地址&…

QQ自带截图功能(你想不到的强大, 必看,长截图/翻译/文本识别/钉在桌面/录屏)

本文是众多使用技巧中其中的一篇, 全部使用技巧点击链接查看, 保证你收获满满 我主页中的思维导图中内容大多从我的笔记中整理而来,相应技巧可在笔记中查找原题, 有兴趣的可以去 我的主页 了解更多计算机学科的精品思维导图整理 本文可以转载&#xff0c;但请注明来处&#x…

c盘清理软件:清理垃圾、扩大c盘和系统迁移

一、为什么要c盘清理软件 Windows系统采用了NTFS文件系统&#xff0c;这种文件系统特点是有文件碎片和系统产生的临时文件会大量存储到系统盘上&#xff0c;而且在使用电脑的过程中&#xff0c;由于程序的安装、升级、卸载和其他操作会产生大量无用的垃圾文件&#xff0c;这些…

经典好用的软件,不容错过,建议收藏

一、火绒安全软件 之前连这个良心杀毒安全软件都不知道。成立于2011年&#xff0c;一直很低调&#xff0c;很多人都不知道&#xff0c;但真的是良心软件。具有杀毒、防火墙、主动防御三大功能。干净、轻便且功能厉害。同时还有家长模式&#xff0c;控制上网时间、网站、软件等…