Leaflet中Marker加载设置SVG

ops/2024/11/9 17:08:57/

Leaflet Marker 加载设置 SVG

  • 1. SVG加载
    • 1.1. svg 路径设置问题
    • 1.2. svg 路径设置

1. SVG加载

1.1. svg 路径设置问题

Leafett 中的 Marker 是以 IMG 标签实现的。在 vue 项目中,如果直接用一下写法:

javascript">  img.src = "./svg/404.svg" 

项目运行后,vue是找不到图片的,因为 ./svg/404.svg 路径被写死了!vue打包后的项目目录结构会有不同且vue不会将 404.svg 文件一起打包!

1.2. svg 路径设置

  • 如果不对 SVG 进行修改!直接 import 导入即可
javascript">import station from "./station.svg"L.marker(latlng,{icon:L.icon({iconUrl: station, // station 为 imgSrc 绝对路径iconSize:[size,size],iconAnchor:[12,12],})});
  • 如果要改 SVG 内容,可以通过 XMLHttpRequest 获取 SVG 内容后进行修改!
javascript">import station from "./station.svg"const xhr = new XMLHttpRequest();let imgSrc,svgDom xhr.addEventListener('load', () => {const resXML = xhr.responseXML;svgDom = resXML.documentElement.cloneNode(true);});xhr.open('GET', station, false);xhr.send();  
// 获取 svgDom 子节点 可以根据自己的项目绣球对 svg 内容进行修改
const ani = svgDom.children[0];
  • 将 svgDom 修改好后,使用 XMLSerializer 对svg内容进行序列化
javascript">const svgStr = new XMLSerializer().serializeToString(svgDom);
const base64 = window.btoa(svgStr);
imgSrc = `data:image/svg+xml;base64,${base64}`

ps:img的src路径设置支持: 1. 绝对路径地址。2. base64编码


http://www.ppmy.cn/ops/96775.html

相关文章

聊聊场景及场景测试

在我们进行测试过程中,有一种黑盒测试叫场景测试,我们完全是从用户的角度去理解系统,从而可以挖掘用户的隐含需求。 场景是指用户会使用这个系统来完成预定目标的所有情况的集合。 场景本身也代表了用户的需求,所以我们可以认为…

常用的Excel VBA办公用法及其代码示例(一)

VBA(Visual Basic for Applications)是Excel中非常强大的工具,它可以帮助我们自动化各种办公任务,提高工作效率。以下是一些常用的VBA办公用法及其代码示例: 1. 快速选择和操作工作表 vba Sub SelectSheet() 选择名…

三好夫人:以爱之名,护你健康

每一盏归家的灯火下,都藏着不为人知的幸福。今天,让我们携手走进“三好夫人”的世界,一个以爱之名,誓要守护每一位家庭顶梁柱健康的温馨港湾。在这里,我们深刻理解——男人,无论年岁几何,在爱人…

8月才开始准备24导游证,来得及吗?

2024年的导游资格考试大纲已经下发,报名已经开始,笔试时间已经确定在11月23日(笔试)。 近期有很多同学开始咨询:现在开始学还来得及吗?应该做哪些准备?从哪里开始? 答案肯定是来得…

gstreamer系列 -- 获取媒体信息

Basic tutorial 9: Media information gathering

libnl教程(2):发送请求

文章目录 前言示例示例代码构造请求创建套接字发送请求 简化示例 前言 前置阅读要求:libnl教程(1):订阅内核的netlink广播通知 本文介绍,libnl如何向内核发送请求。这包含三个部分:构建请求;创建套接字;发送请求。 …

最全软件测试总结大礼包正在派送中,准备接收了。

一.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设计、编码、测试、稳定、部署、维护等阶段。 常见的软件开发模型有瀑布模型、迭代开发、螺旋开发和敏捷开发。 1.瀑布模型 瀑布模型式是最典型…

什么是进程管理

😀前言 本篇博文是关于进程管理的基本介绍和一些使用,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力…