javascript - 使用 Mapbox gl js 制作多个图标 Sprite

标签 javascript mapbox mapbox-gl mapbox-gl-js

在 Mapbox.js 中,您可以为每个标记指定一个图像,有没有办法使用 Mapbox GL JS 来做到这一点?或者每张 map 仅限一个 Sprite ?标记 Sprite 可能会增长到下载速度缓慢的大小。

是否可以同时使用多个 Sprite ?

还有在 map 加载后切换 Sprite 的方法吗?我尝试使用 map.setStyle() 重新加载原始样式,但自定义标记没有重新出现。

最佳答案

首先,让我们确保我们在术语方面达成共识:

  • “符号图层功能”(即标记)可以在 map 上显示“图标”
  • “ Sprite ”是“图标”的集合
  • 一种“样式”有一个“ Sprite ”

In Mapbox.js you could specify an image per marker, is there any way to do this with Mapbox GL JS?

图层内的每个“符号图层功能”可以使用“标记”显示不同的“图标”。这是mentioned in our documentation .

如果您的“符号图层功能”具有 icon 属性,您可以使功能使用该图标

"symbol-icon": "{icon}"

Is it possible to use multiple sprites at once?

您不能同时使用多个 Sprite 。 您可以在一个图层中使用多个图标。 您可以通过创建多个符号图层来为某个要素使用多个图标。


Also is there a way to switch sprite once the map has loaded?

不,这对于 Mapbox GL JS 是不可能的。

关于javascript - 使用 Mapbox gl js 制作多个图标 Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36867301/

相关文章:

javascript - 为什么当你返回 this.each 时,你必须在 jQuery 中重新包装它

javascript - 如何判断一个点是否在圆内?

ios - 在 mapbox View 上显示数千个标签时,有没有办法提高性能?

mapbox - 如何从 Mapbox 国家边界获取一组国家边界

mapbox - 没有在线重复文本标签?

mapbox - 如何在mapbox js中获取可见的 map 边界?

javascript - uneval() 和 .toSource() 有什么区别

javascript - 获取已被观察的事件名称

ios - Mapbox 中的自定义标注

javascript - 在弹出窗口中显示评分星级