首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用svg图像作为mapbox GL JS的映射层

使用svg图像作为mapbox GL JS的映射层
EN

Stack Overflow用户
提问于 2020-09-16 04:33:24
回答 1查看 3.8K关注 0票数 1

如何使用SVG图像作为mapbox的基础地图?

我知道,OpenLayers和传单为开发人员提供了这样的机会。

传单:

代码语言:javascript
运行
AI代码解释
复制
var svgUrl = 'image.svg',
imageBounds = [[0, 0], [100, 100]];
L.imageOverlay(svgUrl , imageBounds).addTo(map);

OpenLayers:

代码语言:javascript
运行
AI代码解释
复制
var svgUrl = 'image.svg',
var imgLayer = new ImageLayer({
    source: new Static({
    url: svgUrl,
    projection: projection,
    imageExtent: extent,
    imageLoadFunction: function (image, src) {
            image.getImage().src = src;
            image.getImage().width = olExtent.getWidth(extent);
            image.getImage().height = olExtent.getHeight(extent);
        },
    }),
});
map.addLayer(imgLayer);

AFAIK,mapbox GL JS也可以处理图像覆盖:

代码语言:javascript
运行
AI代码解释
复制
var svgUrl = 'image.svg',
this.map.addSource("myImageSource", {
    type: "image",
    url: svgUrl,
    coordinates: [
        [-80.425, 46.437],
        [-71.516, 46.437],
        [-71.516, 37.936],
        [-80.425, 37.936],
        ],
});

map.addLayer({
    id: "overlay",
    source: "myImageSource",
    type: "raster",
    paint: { "raster-opacity": 0.85 },
});

但!如果我试图加载svg,则会得到以下错误:

错误:无法加载映像,因为源映像无法解码。请确保使用支持的图像类型,如PNG或JPEG。请注意,不支持SVG。

那么,有什么办法来处理这个问题呢?

EN

回答 1

Stack Overflow用户

发布于 2020-09-16 09:59:37

据我所知,Mapbox-gl-js不支持添加SVG作为层(Github链接),您必须使用外部库/工具(如D3和可能重复的链接 )来解决这些问题,其原因是SVG有像素坐标,gl-js处理地理坐标(Lat/Lng)。

有用的URL:

  1. https://blockbuilder.org/enjalot/0d87f32a1ccb9a720d29ba74142ba365
  2. https://bl.ocks.org/enjalot/18cb7a77b2d9de597b86
  3. https://bl.ocks.org/enjalot/dc1ce756527c072885dc
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63920189

复制
相关文章
初识mapbox GL
最近由于项目的需求,借此机会对mapbox GL做了一个系统的学习,同时也对整个学习过程做一个记录,一方面留作自用,另一方面也希望看到此文的人在学习mapbox GL的时候,能够有所启发、有所收获。
牛老师讲GIS
2020/03/25
2.4K0
⭐Mapbox GL JS学习探索系列(2) - Source
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
j_bleach
2019/10/22
2.3K0
⭐Mapbox GL JS学习探索系列(2) - Source
⭐Mapbox GL JS学习探索系列(1) - Map
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
j_bleach
2019/10/22
2.9K0
⭐Mapbox GL JS学习探索系列(1) -  Map
⭐Mapbox GL JS学习探索系列(3) - Layer
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
j_bleach
2019/10/25
3K0
⭐Mapbox GL JS学习探索系列(3) - Layer
mapbox GL台风路径的播放实现
前面的文章中写了基于openlayers4的台风路径播放,最近用到mapbox GL,也要实现相似的功能,网上找了好久都没有找到,于是就放弃了“拿来主义”的想法,只能自己动手了。经过一下午的努力,终于有了一个雏形,在此分享出来,希望对你有用!
牛老师讲GIS
2020/03/23
1.7K0
mapbox GL台风路径的播放实现
进阶mapbox GL之paint和filter
通过前面的文章初识mapbox GL我们对mapbox GL有了一个相对比较全面的认识,本节结合一些示例,重点讲述一下mapbox GL里面的filter和paint的用法。
牛老师讲GIS
2020/03/31
8.5K1
进阶mapbox GL之paint和filter
⭐Mapbox GL JS学习探索系列(4) - Marker重叠解决方案
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
j_bleach
2019/11/22
2.5K0
SVG绘图-SVG.js
官方文档:https://svgjs.dev/docs/3.0/getting-started/
码客说
2021/12/05
6.3K0
SVG绘图-SVG.js
云服务商正在杀死开源商业模式
对程序员圈子来说,Mapbox是一家专注于地图绘制的卓越软件公司。从Mapbox GL JS(他们的2D地图渲染器)到自动驾驶和导航库,再到增强现实、3D可视化,甚至视频游戏技术,Mapbox在这一领域做到非常棒,其创新成果占有巨大的市场份额。而且这些内容都是开源的,也是让众多程序员喜欢他们的原因之一。 但是昨天看到了一个让我震惊的新闻:最新版本的Mapbox GL JS将不再是开源的!!! 作为个人来说,我并非是一个完美的热衷于开源的粉丝,因为我知道,创建和维护开源代码是多么一件吃力不讨好的事情,真的是非
程序猿DD
2023/04/04
2.6K0
云服务商正在杀死开源商业模式
几种SVG图像的fallbacks
本文介绍了三种SVG图像的fallback方案,分别是使用图片作为占位符、使用srcset属性或使用SVG标签。这些方案各有优缺点,需要根据具体需求选择合适的方案。
练小习
2017/12/29
9420
几种SVG图像的fallbacks
在 Node.js 中转换 SVG 图像格式[每日前端夜话0xAD]
你需要将SVG文件转换为PNG、JPEG、TIFF、WEBP 和 HEIF 格式吗?本文将指导你如何转换为所有这些类型的格式。
疯狂的技术宅
2019/08/23
5.6K0
使用 Mapbox 在 Vue 中开发一个地理信息定位应用
在本文中,我们将大致了解正向地理编码和反向地理编码的概念。 我们将使用 Mapbox 和 Vue.js 2.6.11 构建一个应用这些概念来显示特定位置的应用程序。
前端修罗场
2023/10/07
7490
使用 Mapbox 在 Vue 中开发一个地理信息定位应用
反爬篇 | 手把手教你处理 JS 逆向之 SVG 映射
前面三篇文章分别从图片伪装、字体反爬、CSS 偏移这 3 个方面,讲解了应对这类反爬网站时的解决方案
AirPython
2022/09/28
8270
反爬篇 | 手把手教你处理 JS 逆向之 SVG 映射
FireFox下Canvas使用图像合成绘制SVG的Bug
所有的事情都会有一个起因。 最近产品上需要做一个这样的功能:给一些图形进行染色处理。想想这还不是顺手拈来的事情,早就研究过图形染色的技术。于是我把之前写好的两种算法发给了小伙伴,让他参照实现,第一种算法是操纵像素、第二种使用了图像合成:globalCompositeOperation。 所有的事情都可能会有意外,写程序更是如此了。 没多久,小伙伴说,第二种算法在firefox下不起作用。
用户3158888
2019/07/12
9360
FireFox下Canvas使用图像合成绘制SVG的Bug
所有的事情都会有一个起因。 最近产品上需要做一个这样的功能:给一些图形进行染色处理。想想这还不是顺手拈来的事情,早就研究过图形染色的技术。于是我把之前写好的两种算法发给了小伙伴,让他参照实现,第一种算法是操纵像素、第二种使用了图像合成:globalCompositeOperation。 所有的事情都可能会有意外,写程序更是如此了。 没多久,小伙伴说,第二种算法在firefox下不起作用。
用户3158888
2019/07/10
1.1K0
SVG图像技术摘要
该公司今天没有,研究了最近流行SVG技术,发现,随着css3不断流行,和浏览器技术的发展,SVG网站将取代大量的图片,成为主流站点图片展示。
全栈程序员站长
2022/07/06
1.3K0
常见的WebGIS地图库
Mapbox GL JS 是目前最新潮的前端地图库,它的矢量压缩、动态样式和三维性能令人印象深刻。它本身是开源的,但一般依赖于Mapbox公司提供的底图服务。
Jean
2021/11/23
3.5K0
常见的WebGIS地图库
「首席架构师推荐」React生态系统大集合
关于React生态系统的一系列令人敬畏的事情。 React React一般资源 React社区 React在线游乐场 React教程 React通用教程 React钩子 React和TypeScrip
架构师研究会
2019/09/19
12.5K0
「首席架构师推荐」React生态系统大集合
mapboxGL2离线化应用
mapboxGL升级到2的版本之后,用官方的引用token是必须要有的,为了能够离线使用,我们需要对源码做一定的修改后编译,本文讲述如何进行mapboxGL的离线应用。
牛老师讲GIS
2021/12/06
1.8K0
mapboxGL2离线化应用
SVG 图像入门教程
SVG 是一种基于 XML 语法的图像格式,全称是可缩放矢量图(Scalable Vector Graphics)。其他图像格式都是基于像素处理的,SVG 则是属于对图像的形状描述,所以它本质上是文本文件,体积较小,且不管放大多少倍都不会失真。
ruanyf
2018/08/09
1.8K0
SVG 图像入门教程

相似问题

Mapbox GL JS刷新层

11

mapbox gl js单击层上的事件

10

mapbox gl js:使用中间呈现步骤作为自定义层的掩码。

11

Mapbox GL JS querySourceFeatures到矢量瓷砖层

15

Mapbox gl js -重叠层和鼠标事件处理

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文