【地图】腾讯地图 - InfoWindow 自定义信息窗口内容时,内容 html 嵌套混乱问题

目录

  • 需求描述
  • 问题
    • 问题代码
    • 页面展示
  • 解决
    • 原因
    • 解决办法
    • 解决代码
    • 页面展示
  • 代码汇总

需求描述

腾讯地图上画点位,点击点位展示弹框信息

问题

问题代码

// 打开弹框
openInfoWindow(position, content) {
  this.infoWindow = new TMap.InfoWindow({
    map: this.map,
    position: new TMap.LatLng(position[0], position[1]),
    offset: { x: 0, y: -32 }, // 设置信息窗相对position偏移像素
    content: content
  })
},

// 调用打开弹框方法 ----- 【问题代码】
openInfoWindow(
  [params.latLng.lat, params.latLng.lng], // [39.973865663194346, 116.34780328370698]
  `<div class="qwdc_card">
    <div class="qwdc_card_header">
      <div class="qwdc_card_header_pic iconfont ico-minjing" />
      <div class="qwdc_card_header_info">
        <div class="qwdc_card_header_info_name">{{ '张三' }}</div>
        <div class="qwdc_card_header_info_bm">{{ '铁骑中队' }}</div>
      </div>
    </div>
    <div class="qwdc_card_body">
      <div class="qwdc_card_body_item">
        <span class="qwdc_card_body_item_label">岗位:</span>
        <span class="qwdc_card_body_item_value">{{ '' || '暂无' }}</span>
      </div>
      <div class="qwdc_card_body_item">
        <span class="qwdc_card_body_item_label">位置:</span>
        <span class="qwdc_card_body_item_value">{{
          '测试卫视是在哪里呀就觉得很难受的接口和' || '暂无'
        }}</span>
      </div>
      <div class="qwdc_card_body_item">
        <span class="qwdc_card_body_item_label">状态:</span>
        <span class="qwdc_card_body_item_value">{{ '' || '暂无' }}</span>
      </div>
    </div>
    <div class="qwdc_card_btns">
      <i class="iconfont ico-guijihuifang1" />
      <i class="iconfont ico-ducha1" />
      <i class="iconfont ico-ducha" />
      <i class="iconfont ico-xiaoxituisong" />
    </div>
  </div>`
)

页面展示

在这里插入图片描述
在这里插入图片描述

解决

原因

是因为在模板字符串中写了 单标签,地图弹框内容渲染的时候应该时默认双标签渲染,就会不断找双标签的闭合标签,因此造成样式错乱问题

解决办法

将模板字符串中的单标签改为 双标签

解决代码

// 打开弹框
openInfoWindow(position, content) {
  this.infoWindow = new TMap.InfoWindow({
    map: this.map,
    position: new TMap.LatLng(position[0], position[1]),
    offset: { x: 0, y: -32 }, // 设置信息窗相对position偏移像素
    content: content
  })
},

// 调用打开弹框方法 ----- 【问题解决代码】
openInfoWindow(
  [params.latLng.lat, params.latLng.lng], // [39.973865663194346, 116.34780328370698]
  `<div class="qwdc_card">
    <div class="qwdc_card_header">
      <div class="qwdc_card_header_pic iconfont ico-minjing"></div>
      <div class="qwdc_card_header_info">
        <div class="qwdc_card_header_info_name">{{ '张三' }}</div>
        <div class="qwdc_card_header_info_bm">{{ '铁骑中队' }}</div>
      </div>
    </div>
    <div class="qwdc_card_body">
      <div class="qwdc_card_body_item">
        <span class="qwdc_card_body_item_label">岗位:</span>
        <span class="qwdc_card_body_item_value">{{ '' || '暂无' }}</span>
      </div>
      <div class="qwdc_card_body_item">
        <span class="qwdc_card_body_item_label">位置:</span>
        <span class="qwdc_card_body_item_value">{{
          '测试卫视是在哪里呀就觉得很难受的接口和' || '暂无'
        }}</span>
      </div>
      <div class="qwdc_card_body_item">
        <span class="qwdc_card_body_item_label">状态:</span>
        <span class="qwdc_card_body_item_value">{{ '' || '暂无' }}</span>
      </div>
    </div>
    <div class="qwdc_card_btns">
      <i class="iconfont ico-guijihuifang1"></i>
      <i class="iconfont ico-ducha1"></i>
      <i class="iconfont ico-ducha"></i>
      <i class="iconfont ico-xiaoxituisong"></i>
    </div>
  </div>`
)

页面展示

在这里插入图片描述

代码汇总

// 打开弹框
openInfoWindow(position, content) {
  this.infoWindow = new TMap.InfoWindow({
    map: this.map,
    position: new TMap.LatLng(position[0], position[1]),
    offset: { x: 0, y: -32 }, // 设置信息窗相对position偏移像素
    content: content
  })
},

// 调用打开弹框方法 ----- 【问题代码】
openInfoWindow(
  [params.latLng.lat, params.latLng.lng], // [39.973865663194346, 116.34780328370698]
  `<div class="qwdc_card">
    <div class="qwdc_card_header">
      <div class="qwdc_card_header_pic iconfont ico-minjing" />
      <div class="qwdc_card_header_info">
        <div class="qwdc_card_header_info_name">{{ '张三' }}</div>
        <div class="qwdc_card_header_info_bm">{{ '铁骑中队' }}</div>
      </div>
    </div>
    <div class="qwdc_card_body">
      <div class="qwdc_card_body_item">
        <span class="qwdc_card_body_item_label">岗位:</span>
        <span class="qwdc_card_body_item_value">{{ '' || '暂无' }}</span>
      </div>
      <div class="qwdc_card_body_item">
        <span class="qwdc_card_body_item_label">位置:</span>
        <span class="qwdc_card_body_item_value">{{
          '测试卫视是在哪里呀就觉得很难受的接口和' || '暂无'
        }}</span>
      </div>
      <div class="qwdc_card_body_item">
        <span class="qwdc_card_body_item_label">状态:</span>
        <span class="qwdc_card_body_item_value">{{ '' || '暂无' }}</span>
      </div>
    </div>
    <div class="qwdc_card_btns">
      <i class="iconfont ico-guijihuifang1" />
      <i class="iconfont ico-ducha1" />
      <i class="iconfont ico-ducha" />
      <i class="iconfont ico-xiaoxituisong" />
    </div>
  </div>`
)

// 调用打开弹框方法 ----- 【问题解决代码】
openInfoWindow(
  [params.latLng.lat, params.latLng.lng], // [39.973865663194346, 116.34780328370698]
  `<div class="qwdc_card">
    <div class="qwdc_card_header">
      <div class="qwdc_card_header_pic iconfont ico-minjing"></div>
      <div class="qwdc_card_header_info">
        <div class="qwdc_card_header_info_name">{{ '张三' }}</div>
        <div class="qwdc_card_header_info_bm">{{ '铁骑中队' }}</div>
      </div>
    </div>
    <div class="qwdc_card_body">
      <div class="qwdc_card_body_item">
        <span class="qwdc_card_body_item_label">岗位:</span>
        <span class="qwdc_card_body_item_value">{{ '' || '暂无' }}</span>
      </div>
      <div class="qwdc_card_body_item">
        <span class="qwdc_card_body_item_label">位置:</span>
        <span class="qwdc_card_body_item_value">{{
          '测试卫视是在哪里呀就觉得很难受的接口和' || '暂无'
        }}</span>
      </div>
      <div class="qwdc_card_body_item">
        <span class="qwdc_card_body_item_label">状态:</span>
        <span class="qwdc_card_body_item_value">{{ '' || '暂无' }}</span>
      </div>
    </div>
    <div class="qwdc_card_btns">
      <i class="iconfont ico-guijihuifang1"></i>
      <i class="iconfont ico-ducha1"></i>
      <i class="iconfont ico-ducha"></i>
      <i class="iconfont ico-xiaoxituisong"></i>
    </div>
  </div>`
)
.qwdc_card {
  width: 300px;
  background-color: #fff;
  padding: 10px;
  text-align: left;

  .text_jb {
    background: linear-gradient(to bottom, #49befe, #3783fe); /* 从左到右渐变 */
    -webkit-background-clip: text; /* Safari/Chrome支持该属性 */
    color: transparent; /* 将文本颜色设置为透明 */
  }

  &_header {
    display: flex;
    margin-bottom: 5px;
    &_pic {
      $height: 50px;
      width: 40px;
      height: $height;
      margin-right: 10px;
      border: 1px solid #00a4ff;
      border-radius: 3px;
      background: linear-gradient(180deg, #fff, rgba(0, 121, 254, 0.07) 97%);
      text-align: center;
      &.iconfont {
        line-height: $height;
        font-size: 30px;
        color: #388bfd;
        // @extend .text_jb;
      }
    }
    &_info {
      flex: 1;
      &_name {
        // margin-bottom: 5px;
        font-size: 18px;
        color: #7f7f7f;
      }
      &_bm {
        color: #d7d7d7;
      }
    }
  }
  &_body {
    &_item {
      margin-bottom: 5px;
      display: flex;
      &_label {
        color: #7f7f7f;
      }
      &_value {
        flex: 1;
        white-space: pre-wrap;
        color: #aaaaaa;
      }
    }
  }
  &_btns {
    padding-top: 10px;
    border-top: 1px solid #f2f2f2;
    i {
      margin: 0 5px;
      cursor: pointer;
      font-size: 16px;
      // color: #388bfd;
      @extend .text_jb;
    }
  }
}

贴图中文字溢出、空格换行、模板字符串{{}} 等问题不必在意,模板字符串代码是从 html 标签内cv的

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch:全文搜索的利器

1. 简介 Elasticsearch是一个基于Lucene的分布式搜索引擎&#xff0c;能够支持准实时的数据检索NRT(near real-time),支持海量数据的处理&#xff0c;包括结构化和非结构化数据&#xff0c;提供强大的全文搜索能力&#xff0c;但是ES不仅仅是一个全文搜索引擎&#xff0c;他能…

如何利用IP地址分析风险和保障网络安全

随着网络攻击的不断增加和演变&#xff0c;保障网络安全已经成为了企业和组织不可忽视的重要任务。在这样的背景下&#xff0c;利用IP地址分析风险和建立IP风险画像标签成为了一种有效的手段。本文将深入探讨IP风险画像标签的作用以及如何利用它来保障网络安全。 IP风险画像查…

[LLM]大语言模型文本生成—解码策略(Top-k Top-p Temperature)

{"top_k": 5,"temperature": 0.8,"num_beams": 1,"top_p": 0.75,"repetition_penalty": 1.5,"max_tokens": 30000,"message": [{"content": "你好","role": "user&…

OpenCV实现OCR图片文本检测

一、操作步骤 把左边这样的图片&#xff0c;通过仿射变换转换成右边那样的图片。 然后再通过pytesseract读取图片内容得到图片中的文本就好了。 需要使用到&#xff1a; 仿射变换ocr识别 注&#xff1a;本文使用现成图片&#xff0c;轮廓检测较为明显&#xff0c;若是自己拍…

CTF题型 SSTI(1) Flask-SSTI-labs 通关 题记

CTF题型 SSTI(1) Flask-SSTI-labs 通关 题记 文章目录 CTF题型 SSTI(1) Flask-SSTI-labs 通关 题记前记获取键值或下标的方式获取属性的方式 Level 1 no wafLevel 2 bl[\{\{]Level 3 no waf and blindLevel 4 bl[[, ]]获取键值或下标 Level 5 bl[\, "]Level 6 bl[_]Level …

搭建 es 集群

一、VMware准备机器 首先准备三台机器 这里我直接使用 VMware 构建三个虚拟机 都是基于 CentOS7 然后创建新用户 部署 es 需要单独创建一个用户&#xff0c;我这里在构建虚拟机的时候直接创建好了 然后将安装包上传 可以使用 rz 命令上传&#xff0c;也可以使用工具上传 工…

Linux网络命令介绍30+

目录 一、网络命令 1. ifconfig 2. ip 3. traceroute 4. ping 5. route 6. netstat 7. ss 8. dig 9. arp 10. iwconfig 11. nslookup 12. host 13. whois 14. tracepath 15. curl 16. hostname 17. wget 18. mtr 19. iftop 20. iotop 21. tcpdump 22. i…

jenkins Pipeline接入mysql

背景&#xff1a; jenkin pipeline进化过程如下&#xff1a; Jenkins Pipeline 脚本优化实践&#xff1a;从繁琐到简洁 >>>>> Jenkins Pipeline脚本优化&#xff1a;为Kubernetes应用部署增加状态检测>>>>>> 使用Jenkins和单个模板部署多个K…

Nadaraya-Watson核回归

目录 基本原理 ​编辑 核函数的选择 带宽的选择 特点 应用 与注意力机制的关系 参考内容 在统计学中&#xff0c;核回归是一种估计随机变量的条件期望的非参数技术。目标是找到一对随机变量 X 和 Y 之间的非线性关系。 在任何非参数回归中&#xff0c;变量 Y 相对于变量…

量子加速超算简介

量子加速超算简介 有用的量子计算的发展是全球政府、企业和学术界的巨大努力。 量子计算的优势可以帮助解决世界上一些与材料模拟、气候建模、风险管理、供应链优化和生物信息学等应用相关的最具挑战性的问题。 要实现量子计算的优势&#xff0c;需要将量子计算机集成到现有的…

【算法与数据结构】二叉树(前中后)序遍历

文章目录 &#x1f4dd;前言&#x1f320; 创建简单二叉树&#x1f309;二叉树的三种遍历&#x1f320;前序&#x1f309;中序遍历 &#x1f320;后序遍历 &#x1f320;二叉树节点个数&#x1f309;二叉树节点个数注意点 &#x1f6a9;总结 &#x1f4dd;前言 一棵二叉树是结…

React的基本使用

安装VSCode插件 ES7 Reactopen in browser React基本使用 基本使用步骤 引入两个JS文件&#xff08; 注意引入顺序 &#xff09; <!-- react库, 提供React对象 --> //本地 <script src"../js/react.development.js"></script> //线上 //<scr…

web前端之实现复选功能、repeat

MENU 1、原生实现1.1、html部分1.2、JavaScript部分1.3、css部分1.4、效果图 2、uniApp实现2.1、html部分2.2、JavaScript部分2.3、css部分2.4、效果图 1、原生实现 1.1、html部分 暂时为null&#xff0c;后续会补充。1.2、JavaScript部分 暂时为null&#xff0c;后续会补充…

推理性能提升10倍,成本下降一半!第四范式发布大模型推理加速卡、推理框架...

为破解大模型推理中GPU显存瓶颈&#xff0c;第四范式发布了大模型推理框架SLXLLM以及硬件版本的推理加速卡4Paradigm Sage LLM Accelerator&#xff08;简称SLX&#xff09;。通过多任务共享存储及处理优化技术&#xff0c;大模型推理性能提升10倍&#xff1b;在模型效果无损情…

AJAX-原理XMLHttpRequest

定义 使用 查询参数 定义&#xff1a;浏览器提供给服务器的额外信息&#xff0c;让服务器返回浏览器想要的数据 语法&#xff1a;http://xxxx.com/xxx/xxx?参数名1值1&参数名2值2

vsto excel 插件注册表属性值含义

在 VSTO (Visual Studio Tools for Office) 中&#xff0c;LoadBehavior 是用于指定 Office 插件加载行为的一个属性。具体含义如下&#xff1a; - LoadBehavior 0&#xff1a;此值表示插件已被禁用&#xff0c;将不会加载。 - LoadBehavior 1&#xff1a;此值表示插件将在 O…

C#,图论与图算法,图(Graph)广度优先遍历(BFS,Breadth First Search)算法与源代码

1 深度优先算法与 宽度优先遍历 深度优先算法(DFS,Deep First Search)与 宽度优先遍历(BFS,Breadth First Search) 是树、图数据结构的基础性、标准性的遍历算法。 2 深度优先算法(DFS,Deep First Search) 深度优先搜索(DFS)是一种用于搜索图形或树数据结构的算法…

【HTTP】面试题整理

HTTP&#xff1a;什么是队头阻塞以及怎么解决&#xff1f; 队头阻塞&#xff08;Head-of-Line Blocking&#xff09; 计算机网络中的一个概念&#xff0c;特别是在处理HTTP请求时。当多个HTTP请求被发送到一个服务器&#xff0c;并且这些请求被放置在一个队列中等待处理时&…

石油炼化5G智能制造工厂数字孪生可视化平台,推进行业数字化转型

石油炼化5G智能制造工厂数字孪生可视化平台&#xff0c;推进行业数字化转型。在石油炼化行业&#xff0c;5G智能制造工厂数字孪生可视化平台的出现&#xff0c;为行业的数字化转型注入了新的活力。石油炼化行业作为传统工业的重要领域&#xff0c;面临着资源紧张、环境压力、安…

leetcode刷题(javaScript)——动态规划相关场景题总结

动态规划在 JavaScript 刷题中有一定的难度&#xff0c;但也是非常常见和重要的算法思想。动态规划通常适用于需要求解最优解、最大值、最小值等问题的场景&#xff0c;可以将复杂问题拆分成子问题&#xff0c;通过存储子问题的解来避免重复计算&#xff0c;从而提高效率。 理解…