Mapbox GL JS如何在地图中同时处理多个地图样式/精灵?

时间:2018-01-29 15:01:12

标签: mapbox-gl-js

我们正在使用mapbox-gl-js作为地图网络应用程序,我们有几个自定义样式(使用mapbox studio制作),我们使用像我们在基础图层上方渲染的图层,基础图层可以是地图框卫星图层,以及一个自定义图层,显示有关土壤的信息(例如)。

我想知道是否有人遇到过这种情况,我们找到了一些解决方案以满足我们的需求,但每次修改自定义样式时都不是很容易。

以下列出了我们面临和解决的问题:

  • 无法为每张地图加载更多样式,因此没有简单的方法 加载我们同时拥有的所有自定义样式,我们需要 做到这一点。

    为了在地图中显示每个样式,我们在中添加每个图层 单独设置地图样式,我们检查样式中的图层 对象并迭代它添加每一层。

  • 无法为每张地图加载多个精灵,每种风格都有自己的精灵 sprite,具有所需的资源,例如用于填充的svg 图案。如果我们加载一个样式的精灵,其他样式不会 正确显示,因为它们也有需要svgs的图层 他们的精灵。

    为了解决这个问题,我们有一个包含所有其他svgs的样式 样式,所以我们可以加载这种风格的精灵和所有其他的精灵 样式显示正确。这有效,但精灵有一个 500个图标的限制(或多或少取决于您的图标的大小),我们最终会达到这个限制,这就是' s 我们最关心的问题之一。

0 个答案:

没有答案