Javascript 带有Mapbox gl js的多图标精灵
在Mapbox.js中,您可以为每个标记指定一个图像,是否有任何方法可以使用Mapbox GL js实现这一点?或者每个地图只能有一个精灵?标记精灵可能会增长到下载速度较慢的大小 可以同时使用多个精灵吗Javascript 带有Mapbox gl js的多图标精灵,javascript,mapbox,mapbox-gl,mapbox-gl-js,Javascript,Mapbox,Mapbox Gl,Mapbox Gl Js,在Mapbox.js中,您可以为每个标记指定一个图像,是否有任何方法可以使用Mapbox GL js实现这一点?或者每个地图只能有一个精灵?标记精灵可能会增长到下载速度较慢的大小 可以同时使用多个精灵吗 还有一种方法可以在地图加载后切换精灵吗?我已尝试使用map.setStyle()重新加载原始样式,但自定义标记不会再次出现。首先,让我们确保我们在术语方面处于同一页: “符号图层特征”(即标记)可在地图上显示“图标” “精灵”是“图标”的集合 “风格”有一个“精灵” 在Mapbox.js中
还有一种方法可以在地图加载后切换精灵吗?我已尝试使用map.setStyle()重新加载原始样式,但自定义标记不会再次出现。首先,让我们确保我们在术语方面处于同一页:
- “符号图层特征”(即标记)可在地图上显示“图标”
- “精灵”是“图标”的集合
- “风格”有一个“精灵”
在Mapbox.js中,您可以为每个标记指定一个图像,是否有任何方法可以使用Mapbox GL js实现这一点 层内的每个“符号层特征”可以使用“标记”显示不同的“图标”。这是 如果“符号图层要素”具有
图标
属性,则可以使要素使用该图标
"symbol-icon": "{icon}"
可以同时使用多个精灵吗 不能同时使用多个精灵。 可以在一个层中使用多个图标。 通过创建多个符号图层,可以为要素使用多个图标
还有一种方法可以在地图加载后切换精灵吗
不,这在Mapbox GL JS中是不可能的。根据上面Lucas的回答,如果您想在运行时更改某个点的图标,您应该使用另一个图标图像创建一个单独的层,然后从一个层的源数据中删除该点并将其添加到另一个层