iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue利用openlayers实现点击弹窗的方法详解
  • 453
分享到

Vue利用openlayers实现点击弹窗的方法详解

2024-04-02 19:04:59 453人浏览 独家记忆
摘要

目录解释编写弹窗引入openlayer使用弹窗组件点击事件这个写的稍微简单一点就行了,其实呢,这个不是很难,主要是知道原理就可以了。 我想实现的内容是什么意思呢?就是说页面上有很多坐

这个写的稍微简单一点就行了,其实呢,这个不是很难,主要是知道原理就可以了。

我想实现的内容是什么意思呢?就是说页面上有很多坐标点,点击坐标点的时候在相应的位置弹出一个框,然后框里显示出这个坐标点的相关数据。

解释

这个内容的其实就是添加一个弹窗图层,然后在点击的时候让他显示出来罢了。

编写弹窗

首先一点,我们这个弹窗需要自己写一下,具体的样式,展示的内容之类的,所以说写一个弹窗组件,然后在openlayer文件中引用加载。

比如我们创建一个 msgModel.Vue

<template>
  <div class="msg-div">
    <p class="msg-title">{{data.title}}</p>
  </div>
</template>
<script>
  export default {
    props: ['data'],
    data() {
      return {
        
      }
    },
    methods: {
      
    },
  }
</script>
<style scoped>
.msg-div {
  min-width: 200px;
  padding: 0px;
  background-color: #fff;
  padding-bottom: 5px;
}
.msg-title {
  margin: 0;
  padding-left: 5px;
  height: 30px;
  line-height: 30px;
  font-size: 13px;
  color: #fff;
}
</style>

上边是我自己随便写的DEMO,然后具体按照你自己的来。

引入

然后在openlayer文件引入。

import msgModel from '@/views/modules/wjw/demo/msgModel'

然后像正常使用子组件一样加载一下就行。

    components: {
      msgModel,
    },

然后在界面加上。

<msg-model ref="msgFORM" :data="data"></msg-model>

其中这个data是传递过去要展示的值。

openlayer使用弹窗组件

初始化地图的时候,我们把这个弹窗加载到openlayer里面。

	overlayForm = new Overlay({  // 创建一个图层
          element: this.$refs.msgForm.$el,   // 图层绑定我们上边的弹窗
          autoPan: true,
          autoPanAnimation: {
            duration: 250,
          }
        })
        overlayForm.setPosition(undefined)   // 设置弹窗位置,刚开始我们不让他显示,就是undefined就行
        map.addOverlay(overlayForm)  // 然后把弹窗的图层加载到地图上

上面的代码写完之后,地图是没有弹窗的,因为我没没有设置他的位置。

然后实现点击弹出来。

点击事件

比如说地图上有坐标点,我点击坐标点,然后弹出这个弹框,同时展示点击坐标点的数据信息。

	map.on('click', ev => {
          let pixel = ev.pixel   // 鼠标点击的位置,这个应该是像素
          let mouse = ev.coordinate  // 鼠标点击的坐标位置
          let feature = map.forEachFeatureAtPixel(pixel, (feature) => {
            return feature   // 查找出点击的哪个坐标
          })
          if (feature) {  // 如果是点击了坐标点
            this.data= feature.get('data')  // 获取坐标点的数据
            overlayForm.setPosition(mouse)  // 设置弹窗的位置
          } else {
            overlayForm.setPosition(undefined)  // 如果没有点击坐标点,就隐藏弹窗
          }
        })

好了,上边代码基本上就实现了点击坐标点弹出信息框功能,就不截图了,凑合看吧

到此这篇关于Vue利用openlayers实现点击弹窗的方法详解的文章就介绍到这了,更多相关Vue openlayers点击弹窗内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue利用openlayers实现点击弹窗的方法详解

本文链接: https://www.lsjlt.com/news/152137.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue利用openlayers实现点击弹窗的方法详解
    目录解释编写弹窗引入openlayer使用弹窗组件点击事件这个写的稍微简单一点就行了,其实呢,这个不是很难,主要是知道原理就可以了。 我想实现的内容是什么意思呢?就是说页面上有很多坐...
    99+
    2024-04-02
  • Vue结合Openlayers使用Overlay添加Popup弹窗实现
    最近使用 Vue 和 Openlayers 写了一个简单的小 dom ,用到了 Overlay 的弹窗功能,记录一下! 实验数据:test.xls 项目运行效果 创建元素: ...
    99+
    2024-04-02
  • vue如何通过点击事件弹出弹窗页面详解
    目录步骤一步骤二总结步骤一 创建一个弹窗页面,我们给该页面命名为dialogComponent,弹窗页面中要设置以下内容: <template> <!--1.首先,...
    99+
    2024-04-02
  • Vue弹窗的两种实现方式实例详解
    目录方法一 使用.sync修饰符方法二 使用v-model方法一 使用.sync修饰符 element就是使用的这种方式,实现方式如下: 父组件: <template> ...
    99+
    2022-11-13
    vue弹窗实现 vue弹窗
  • Vue弹窗组件的实现方法
    本文实例为大家分享了Vue弹窗组件的实现具体代码,供大家参考,具体内容如下 弹窗组件包含内容: 弹窗遮罩层内容层的实现(涉及slot、props、$on、$emit) 实现步骤: 1...
    99+
    2024-04-02
  • vue点击弹窗自动触发点击事件的解决办法(模拟场景)
    业务场景:使用vue +element ui 的el-dialog,点击弹窗之后,默认加载第一个按钮的数据进行初始化。  div  指令: // 自动触发...
    99+
    2024-04-02
  • 怎么解决vue点击弹窗自动触发点击事件的问题
    这篇文章给大家分享的是有关怎么解决vue点击弹窗自动触发点击事件的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。业务场景:使用vue +element ui 的el-dialog,点击弹窗之后,默认加载第一个...
    99+
    2023-06-15
  • php中如何实现点击删除的弹窗
    今天小编给大家分享一下php中如何实现点击删除的弹窗的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先,在PHP中,我们需要...
    99+
    2023-07-06
  • 详解JavaScript实现JS弹窗的三种方式
    目录一、前言二、什么是JavaScript,有什么用三、HTML嵌入JavaScript的方式:第一种方式:第二种方式:第三种方式:总结一、前言 html和css的学习大致完成,我们...
    99+
    2024-04-02
  • vue防止多次点击的实现方法
    本篇内容主要讲解“vue防止多次点击的实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue防止多次点击的实现方法”吧!一般点击事件会分不同的情况进行消息提醒,如果不做处理,短短几秒弹出很...
    99+
    2023-06-20
  • 详解win7消除弹窗广告的方法
    相信不少网友都有受到电脑弹窗广告的骚扰,在使用电脑的时候老是会有些软件捆绑的广告程序弹出,关掉后下次又会跑出来。小编想教网友如何在win7中关闭弹窗广告,以解决这个问题。方法一:1、找到【我的电脑】,鼠标右击【我的电脑】选择【管理】进入。2...
    99+
    2023-07-19
  • 详解Vue全局组件的挂载之实现弹窗组件
    目录vue组件挂载类型组件挂载代码示例1.vue.extend()方法2.render函数挂载vue组件挂载类型 vue中组件的挂载分为两种类型: vue.extend() rend...
    99+
    2022-11-13
    Vue组件挂载 弹窗 Vue组件挂载 Vue弹窗组件 Vue 弹窗
  • Vue自定义指令实现点击右键弹出菜单示例详解
    目录一、实现思路1.使用contextmenu事件2.点击菜单之外的任意地方关闭菜单3.菜单置于图层的最顶层二、源代码一、实现思路 1.使用contextmenu事件 该需求需要拦截...
    99+
    2023-01-11
    Vue自定义指令右键弹出菜单 Vue自定义指令 点击右键弹出菜单
  • OpenLayers实现点要素图层的聚合显示的方法
    目录1、前言2、点要素图层的聚合3、聚合特殊处理一4、聚合特殊处理二5.、结语1、前言 在很多情况下,点要素图层中的要素数量可能会成百上千,这时候如果不做任何处理直接加载到地图上不仅...
    99+
    2024-04-02
  • vue中使用h5video标签实现弹窗播放本地视频的方法
    目录1.弹窗的打开关闭2. 本地视频资源路径的引入3. 视频播放完毕自动关闭弹窗4. 视频在弹窗中自适应大小参考h5 < video >标签的用法 在开发过程中主要涉及到...
    99+
    2024-04-02
  • Android中PopupWindow弹出式窗口使用方法详解
    本文实例为大家分享了Android中PopupWindow弹出式窗口使用的具体代码,供大家参考,具体内容如下 效果图如下: 实现代码如下: activity_popup_windo...
    99+
    2024-04-02
  • vue实现锚点跳转之scrollIntoView()方法详解
    目录vue锚点跳转scrollIntoView()方法滚动到某个特定元素 一个简单的vue锚点跳转demovue锚点跳转scrollIntoView()方法 滚动到某个特定...
    99+
    2024-04-02
  • C#实现悬浮窗口的方法详解
    目录一 悬浮窗口二 创建悬浮窗口1 实现细节2 细节三 圆形背景一 悬浮窗口 特点: ① 窗口一般较小,有时为不规则背景; ② 置顶显示; ③ 窗口支持拖动; ④ 一般用于程序状态显...
    99+
    2022-12-21
    C#悬浮窗口 C# 窗口
  • vue如何实现点击input弹出带搜索键盘并监听该元素的方法
    这篇文章主要介绍了vue如何实现点击input弹出带搜索键盘并监听该元素的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.遇到问题:需...
    99+
    2024-04-02
  • vue利用sync语法糖实现modal弹框的项目实践
    用过vue的开发者都知道vue是组件化开发的一个框架,基于组件化的原则,很多时候我们开发的时候都会把像modal、drawer这种弹框,抽屉类的组件作为一个单独的组件分出去,然后在在...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作