高德地图弹框引用VUE组件

2023-11-11

1.高德地图版本:2.0

2.实现效果:

 3.代码如下(地图页面代码)

var infoWindow = new SimpleInfoWindow({
            //基点指向marker的头部位置
            offset: new AMap.Pixel(0, -10)
          });
          params.infoWindow = infoWindow;
          pointSimplifierIns.on('pointClick', function(e, record) {
            let siteinfo = record.data;
            var sitename = siteinfo.sitename
            let Content = Vue.extend({//自定义模板继承
              template: `<base-info :sitename="sitename" :siteinfo="siteinfo" :infoWindow="infoWindow" :startAlarmTime="startAlarmTime" :endAlarmTime="endAlarmTime"></base-info>`,
              // name: 'child',
              components: {
                'base-info': mapInfoWindowComponent //弹框用子组件包裹
              },
              data(){
                return {
                  sitename:sitename,
                  infoWindow:params.infoWindow,
                  siteinfo:siteinfo,
                  startAlarmTime: that.startAlarmTime,
                  endAlarmTime: that.endAlarmTime
                }
              }
            });
            let component = new Content().$mount();
            params.infoWindow.setContent(component.$el);
            params.infoWindow.open(params.map, [siteinfo.longitudinal, siteinfo.dimension]);
          });

4.将你的弹框做成一个公共组件引入(下面代码是上面中截取的实现代码)

let Content = Vue.extend({//自定义模板继承
              template: `<base-info :sitename="sitename" :siteinfo="siteinfo" :infoWindow="infoWindow" :startAlarmTime="startAlarmTime" :endAlarmTime="endAlarmTime"></base-info>`,
              // name: 'child',
              components: {
                'base-info': mapInfoWindowComponent //弹框用子组件包裹
              },
              data(){
                return {
                  sitename:sitename,
                  infoWindow:params.infoWindow,
                  siteinfo:siteinfo,
                  startAlarmTime: that.startAlarmTime,
                  endAlarmTime: that.endAlarmTime
                }
              }
            });
            let component = new Content().$mount();
            params.infoWindow.setContent(component.$el);
            params.infoWindow.open(params.map, [siteinfo.longitudinal, siteinfo.dimension]);

5.关于监听弹框中的点击事件,这里使用的技术使VUE中非父子组件传值+监听的中转站具体实现如下:用VUE建立一个事件(以下代码是弹框内的,结合上面的实现效果图)

 <el-button id="myMapInfoWindowComponent" size="mini" style="float: right;margin-right: 4px" @click="openSiteInfoDrawer(siteinfo.siteid)">详情</el-button>
openSiteInfoDrawer(siteid,sitename){
      Vue.prototype.chargespot.Bus.$emit('openmapdrawer',siteid)
    },

6.中转站Bus是在main.js建立的

/* eslint-disable no-new */
Vue.prototype.chargespot = new Vue({
  el: '#app',
  data: {
    Bus: new Vue()//非父子组件传值的中转站
  },
  router,
  store,
  template: '<App/>',
  components: { App }
})

7.地图页面监听按钮的代码如下:

created () {
    Vue.prototype.chargespot.Bus.$on('openmapdrawer', siteid => {
      //你需要执行的方法事件等。。。
    })
  },

8.总结:

1.就是地图引入弹框组件的方法

2.监听弹框内的特定按钮的点击事件$on和$emit的使用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

高德地图弹框引用VUE组件 的相关文章

  • 解决方案:动态加载独立编译的 Webpack 2 包 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想分享如何捆绑一个充当插件主机以及它如何加载已安装的插件动态地 应用程序和插件都与 Webpack 捆绑在一起 应用程序和插件被编译和分
  • 突出显示 Html 文档中不同标签的文本

    我是新来的角js 现在我正在突出显示 HTML 文档中的文本 So 我的代码是这样的 var InstantSearch highlight function container highlightText var internalHigh
  • OpenLayers:放大或缩小后,被破坏的特征会重新出现

    我有一个 OpenLayers Bing 地图应用程序 可以显示危险废物站点 用户可以单击链接来切换地图上站点的子站点 当我通过调用层上的 destroyFeatures 来关闭子站点 它们是向量层上的点 时 它们会按预期消失 但是 如果我
  • Cypress:在 JSON 响应中存根特定键

    我想在 Cypress 中存根以下响应 专门存根密钥ds version 可能的值为 0 1 或 2 每个值将在 UI 上显示不同的元素 fixtures user json email email protected cdn cgi l
  • 使用 Intern 测试自定义 JavaScript(不是 Node 模块)

    是否可以为自定义客户端创建和运行测试套件 JavaScript 不是作为 Node 模块创建的 应该如何 那么配置要改吗 Intern 配置中有 loader 部分 指定了 如果我做对了 将会加载的包 是否有必要 以某种方式在这里包含我的自
  • jQuery 无法在外部 JavaScript 中工作

    我是 jQuery 新手 遇到了一些奇怪的问题 我正在使用 jQuery 的change and click方法 在我的 HTML 文件中使用时它们工作正常
  • 如何使用 LeafLe 创建商店地图

    我希望创建一个可以交互的地图 我发现的最好的选择是传单 问题是我没有找到任何资源来解释如何创建自己的地图 我希望创建一个商场地图 用户可以在其中看到所有商店 喷泉 我怎样才能做到这一点 最好的起点是传单示例页面 http leafletjs
  • 页面其余部分完成加载后延迟加载 html5 视频

    我有一个视频元素用作我正在构建的页面底部部分的背景 我试图通过将 src 存储为 data src 属性并使用 jQuery 在其他资源加载后将其应用到 src 属性 因为它不是英雄图像或任何东西 我想加载海报以节省加载时间 然后稍后加载视
  • 使用 ES6 静态函数时,我得到“没有这样的方法”

    我正在尝试为我在 React Native 中工作的项目创建一个包含静态函数的 utils 类 我读到了如何在 StackOverFlow 中创建静态函数question https stackoverflow com questions
  • 开始使用 Three.js 中的行进立方体

    我是 Three js 的新手 正在寻找教程来帮助我开始了解如何在 Three js 中使用 Marching Cubes 到目前为止 我在 Three js 中看到的一些使用它的项目对我来说有点复杂 所以一个简单的教程会很好 谢谢 像您一
  • 在 JavaScript 中引用 C# 变量

    我已经阅读了很多线程 但我不明白为什么这不起作用 我正在创建一个将用作导航栏的 SharePoint Web 部件 一切都很顺利 直到我尝试在 JS 代码中引用 C 变量 这是来自 VisualWebPart1UserControl asc
  • 检测 iPad Safari 用户的最佳方法

    添加用于检测 iPad Safari 用户的代码的最佳方法是什么 我的意思是我们应该使用 1 CSS 通过链接媒体 2 JS 通过navigator对象 我听说使用用户代理字符串并不是检测 iPad 的最佳方法 因为存在不一致的情况 请建议
  • 如何像在浏览器中一样检索准确的 HTML

    我正在使用 Python 脚本来呈现网页并检索其 HTML 它适用于大多数页面 但对于其中一些页面 检索到的 HTML 不完整 我不太明白为什么 这是我用来废弃此页面的脚本 由于某种原因 每个产品的链接不在 HTML 中 Link http
  • 防止 Bootstrap IE 下拉列表在滚动条单击时关闭

    在 IE 中 单击下拉菜单滚动条时 下拉菜单将关闭 当您使用鼠标滚轮滚动它时 效果很好 这是代码层链接 https www codeply com go Uh8qadr3q2 https www codeply com go Uh8qadr
  • 将罗马数字转换为阿拉伯数字--recursiv

    我是 JavaScript 新手 正在网站的帮助下学习https www jshero net koans roman1 html https www jshero net koans roman1 html 本练习是编写一个转换器 将罗马
  • 如何使用 Javascript 从 Chrome iOS 下载 blob 文件?

    如何使用 Javascript 从 Chrome iOS 下载 blob 文件 我正在从 iOS 下载文件 pdf excel txt png iOS 没有文件系统 这对下载来说是一个问题 我创建了一个代码 根据操作系统和导航器 如果需要
  • 在状态中检测到不可序列化的值,路径为:`filters.startDate` (redux-toolkit.esm.js )

    我正在使用 React 18 和 Redux 构建一个预算应用程序 我不知道这里有什么问题 import moment from moment const filtersDefaultState text sortBy date start
  • 有没有用 Javascript 编写的开源 JSDoc 解析器?

    我正在寻找一个可以在我的项目中使用的 JSDoc 解析器 我正在寻找可以传递 JSDoc 注释并接收该注释含义的结构化描述的东西 我见过的大多数工具似乎都能够将 JSDoc 注释转换为 HTML 或其他格式 我正在寻找能够提供可用于输入其他
  • ESLint 如何集成到 Create React App 中?

    当我跑步时npx create react app some name 为我创建了一个简单的 React 项目 当我随后窥视package json 似乎有一些 ESLint 存在的证据 因为有 eslintConfig extends r
  • 类型错误:无法读取未定义的属性“长度” - 使用安全帽部署时

    我在尝试在安全帽开发链上部署模拟合约时收到以下错误 我正在关注 使用 JavaScript 学习区块链 Solidity 和全栈 Web3 开发 Patrick Collins 在 FreeCodeCamp YT 频道上的 32 小时课程

随机推荐

  • el-date-picker怎样获取选择的时间范围值并判断是否大于7天

    场景 SpringBoot Vue Echarts实现选择时间范围内数据加载显示柱状图 SpringBoot Vue Echarts实现选择时间范围内数据加载显示柱状图 BADAO LIUMANG QIZHI的博客 CSDN博客 在上面需要
  • Linux网络编程:基础知识入门学习笔记汇总

    学习Linux的网络编程原则上基于 Linux的系统编程 和 Linux基础的Shell编程 第十章 除此之外还包含了计算机网络的知识 Linux基础shell编程 gt Linux 系统编程 gt Linux 网络编程 来源 黑马程序员
  • Hostmonitor邮件告警

    Hostmonitor可以通过邮件告警 打开Hostmonitor应用 1 点击Options 2 选择Mailer settings 3 Address输入框中填写网易邮箱的SMTP服务器地址 Port 输入框输入网易邮箱服务器端口 Au
  • 报`Uncaught (in promise)`错误解决办法

    使用了promise 但是在使用的过程中报Uncaught in promise 错误 第一次遇到这种错误 所以在此记录下 方便以后解决问题 getImage function url return new Promise resolve
  • getnameinfo failed

    在虚拟机vmware中用netstat 查看网络状态出现一行 getnameinfo failed 可能的一个原因 虚拟机使用NAT方式链接网络 解决方法 使用桥接方式即可
  • 【从零开始学c++】——类与对象(二)

    类与对象 1 构造函数 1 1构造函数的定义 1 2构造函数的特性 2 析构函数 2 1概念 2 2 特性 3 拷贝构造函数 3 1 概念 3 2 拷贝构造函数的特性 4 赋值运算符的重载 4 1 概念 4 2 实现日期类的运算符 4 2
  • 【Java基础知识 14】java动态代理原理

    Java学习路线思维导图 Java学习路线总结 思维导图篇 Java学习路线配套文章 搬砖工逆袭Java架构师 哪吒社区入口 哪吒社区 简介 Java领域优质创作者 CSDN哪吒公众号作者 Java架构师奋斗者 扫描主页左侧二维码 加入群聊
  • cumsum() R函数:用于产生随机变量的累积和

    gt 1 4 1 1 2 3 4 gt cumsum 1 4 1 1 3 6 10 函数介绍 Returns a vector whose elements are the cumulative sums cumsum 函数 Cumulat
  • python中import re_彻底搞懂Python 中的 import 与 from import

    对不少 Python 初学者来说 Python 导入其他模块的方式让他们很难理解 什么时候用import xxx 什么时候用from xxx import yyy 什么时候用from xxx yyy import zzz 什么时候用from
  • 又搞定一块屏幕 micropython 驱动 sharp memory lcd

    先来学学C是怎么写的 核心代码 void lcd refresh void uint16 t i 0 ln 0 SCS 1 delay us 5 write byte 0x80 for ln 0 ln lt 128 ln write byt
  • AI人流量统计算法,让公众场所人群管控更简单

    为强化疫情防控 公众场所时常需要调整人数上限 高效快捷限制人群聚集 减少疫情传播风险 以往的方式是投入大量人力在出入口设置门岗 对出入人员进行现场管理 统计及控制进出人流数量 基于区域人流量统计技术模型 快瞳科技 人流量统计检测算法 为疫情
  • 788. 旋转数字

    788 旋转数字 我们称一个数 X 为好数 如果它的每位数字逐个地被旋转 180 度后 我们仍可以得到一个有效的 且和 X 不同的数 要求每位数字都要被旋转 如果一个数的每位数字被旋转以后仍然还是一个数字 则这个数是有效的 0 1 和 8
  • 田志刚:企业知识管理的知识传播

    知识管理本身的知识传播是知识管理在国内发展的一个重要课题 虽然我们都认为知识管理有价值 但更多的人不知道 所以如何让更多的人知道KM 理解并知道如何实践就成为知识管理的知识传播的重要内容 知识管理的知识传播可以分两个层面 一个层面是对于社会
  • VMware Workstation Pro 16 安装win7

    本文使用U盘工具创建 至于为什么安装win7 毕竟很多游戏在win10已经没法玩了 1 创建虚拟机 典型创建即可 2 添加硬盘 SCSI类型 使用物理磁盘 物理驱动2 使用整个磁盘 这里的驱动2就是U盘 创建完成 这时候应该是正在使用该设备
  • python高级知识之常用的魔术方法

    文章目录 1 init 魔术方法 2 new 魔术方法 3 str 魔术方法 4 del 魔术方法 5 call 魔术方法 6 len 魔术方法 7 eq 魔术方法 8 hash 魔术方法 9 getitem 魔术方法 10 setitem
  • 解决 vs code 搜索中文结果异常的问题

    文章目录 一 引言 二 解决 一 引言 最近在工作中遇到了一个很诡异的问题 在使用 vs code 过程中 发现 ctrl f 搜索一个项目文件夹中的结果的时候 搜索数字没有问题 能出来结果 但是搜索中文就会出不来结果 明明确认是有相关中文
  • lapack++与sba的编译问题

    最近在研究老外写的sba的程序 从http users ics forth gr lourakis sba 下载的sba程序是源代码 并没有编译 按照http blog csdn net royalvane article details
  • Apache Tomcat 8.5解压版在Win10系统安装详细过程说明

    目录 引言 一 操作环境 二 Tomcat安装 1 Tomcat安装版介绍 2 Tomcat解压版 绿色版 安装与环境变量配置 1 下载Tomcat8 5解压版压缩包 2 对压缩包进行解压 3 配置环境变量 CATALINA HOME 和
  • Docker基本知识笔记(五)--Docker Swarm

    目录 一 工作模式 二 搭建集群 三 Raft协议 四 Docker Stack 五 总结 一 工作模式 主要是分成两种节点 一个管理节点 一个工作节点 操作在管理节点上 二 搭建集群 四台阿里云服务器 1 配置管理节点 配置自己的ip地址
  • 高德地图弹框引用VUE组件

    1 高德地图版本 2 0 2 实现效果 3 代码如下 地图页面代码 var infoWindow new SimpleInfoWindow 基点指向marker的头部位置 offset new AMap Pixel 0 10 params