vue-amap动态循环添加多个点,点击点出现弹窗信息

news/2024/7/10 1:31:35 标签: vue, js, javascript, html5, elementui

效果图:
初始化加点
点击一个点出现弹窗信息
点击其他点出现弹窗信息
思路:通过后端的接口数据循环遍历出点的经纬度、弹窗信息,依次push进一个空的数组,最后将这个数组赋值给data里面定义的变量。
话不多说上代码:
HTML

      <el-amap-marker
        v-for="marker in markers"
        :key="marker.index"
        :position="marker.position"
        :events="marker.events"
      ></el-amap-marker>
      <el-amap-info-window
        v-if="window"
        :position="window.position"
        :visible="window.visible"
        :content="window.content"
      ></el-amap-info-window>

JS

javascript">data() {
	lonlat: [], //经纬度
    markers: [], //点
    windows: [], //弹窗
    window: "", //弹窗的显示影藏
},
mounted(){
        let markers = [];
        let windows = [];
        let self = this; //this重定向
        for (let i = 0; i < self.lonlat.length; i++) {
          windows.push({
            position: this.lonlat[i],
            content:'',
            visible: false,
          });
          //点
          markers.push({
            position: this.lonlat[i],
            events: {
              click() {
                //弹窗信息
                self.windows[i].content = 
                `<div>
                  <div><span>机构名称:</span>${self.name[i]}</div>
                  <div><span>管辖区域:</span>${self.areaName[i]}</div>
                  <div><span>地址:</span>${self.address[i]}</div>
                  <div><span>联系电话:</span>${self.phone[i]}</div>
                  <div><span>联系人:</span>${self.contactName[i]}</div>
                  <div><span>状态:</span>${self.useFlag[i]}</div>
                </div>`;
                //给信息窗体里的判断默认传false默认不显示
                self.windows.forEach((window) => {
                  window.visible = false;
                });
                //当前点击的圆点对应的信息窗体为true显示
                self.window = self.windows[i];
                self.$nextTick(() => {
                  self.window.visible = true;
                });
              },
            },
          });
        }
        this.markers = markers;
        this.windows = windows;
}

没了,结束了,是不是很简单呐
最后:如果此篇博文对您有帮助,还请动动小手点点关注点点赞呐~,谢谢 ~ ~


http://www.niftyadmin.cn/n/734853.html

相关文章

【leetcode】564. Find the Closest Palindrome

题目如下&#xff1a; 解题思路&#xff1a;既然是要求回文字符串&#xff0c;那么最终的输出结果就是对称的。要变成对称字符串&#xff0c;只要把处于对称位置上对应的两个字符中较大的那个变成较小的那个即可&#xff0c;假设n1234,1和4对称所以把4变成1&#xff0c;2和3对称…

构建一个运行在Azure虚拟机上的MySQL Spring Boot应用程序

\关键要点\\从GitHub中获取一个简单的Spring Boot Java应用程序。\\t将应用程序连接到Azure MySQL数据库服务。\\t在Azure上配置一个运行WildFly的Linux VM。\\t将示例应用程序部署到WildFly服务器。\\\最近&#xff0c;我被要求构建一个在WildFly应用程序平台上运行的演示网站…

通过单击按钮实现全屏、退出全屏

没什么好说的&#xff0c;看代码 HTML <el-button size"mini" type"success" click"intScreen">全屏显示</el-button> <el-button size"mini" type"success" click"outScreen">退出全屏</e…

SQL alwayson 辅助接点查询统计信息“丢失”导致查询失败

ALWAYSON 出现以下情况已经2次了&#xff0c;记录下&#xff1a; DBCC 执行完毕。如果 DBCC 输出了错误信息&#xff0c;请与系统管理员联系。 消息 2767&#xff0c;级别 16&#xff0c;状态 1&#xff0c;过程 sp_table_statistics2_rowset&#xff0c;第 105 行无法在系统目…

鼠标滚轮的滚动事件,判断鼠标向上还是向下滚动

代码&#xff1a; JS // 鼠标滚动事件windowAddMouseWheel() {let that this;var scrollFunc function (e) {e e || window.event;if (e.wheelDelta) {//判断浏览器IE&#xff0c;谷歌滑轮事件if (e.wheelDelta > 0) {//当滑轮向上滚动时console.log("向上滚动"…

【Android从零单排系列十七】《Android视图控件——WebView》

目录 前言 一 WebView基本介绍 二 WebView使用方法 三 WebView常见属性及方法 四 简单案例 五 总结 前言 小伙伴们&#xff0c;在上文中我们介绍了Android视图组件ProgressDialog&#xff0c;本文我们继续盘点&#xff0c;介绍一下视图控件的WebView。 一 WebView基本介…

美图离线ETL实践

美图收集的日志需要通过 ETL 程序清洗、规整&#xff0c;并持久化地落地于 HDFS / Hive&#xff0c;便于后续的统一分析处理。什么是 ETL&#xff1f;ETL 即 Extract-Transform-Load&#xff0c;用来描述将数据从来源端经过抽取&#xff08;extract&#xff09;、转换&#xff…

Cloutflare:TLS 1.3解读 你想了解的都在这儿

2019独角兽企业重金招聘Python工程师标准>>> 在过去的五年中&#xff0c;互联网工程任务组&#xff08;IETF&#xff09;&#xff0c;即定义互联网协议的标准机构&#xff0c;一直致力于标准化其最重要的安全协议之一的最新版本&#xff1a;传输层安全性&#xff08…