首页 > 解决方案 > 根据缩放级别更改图标偏移

问题描述

我正在尝试偏移符号层的符号,以便它们不会干扰先前的符号层(即它们不重叠)。我需要抵消它们,因为在这两种情况下都icon-allow-overlap需要设置为 true,因为符号需要在所有缩放级别都可见。理想情况下,我想做这样的事情:

"icon-offset": [
  ["zoom"],
  12, [-16, 0],
  22, [0, 0]
]

但这给了我一个错误:

array length 2 expected, length 5 found

有没有一种方法可以像我上面尝试的那样做我想做的事情?我知道这icon-offset是不可转换的,所以这就是上述失败的原因。

任何帮助,将不胜感激。

谢谢你的时间。

标签: mapbox-gl-js

解决方案


答案是使用一个函数:

"icon-offset": {
  "stops": [
    [12, [-16, 0]],
    [22, [0, 0]]
  ]
}

更多信息可以在这里找到


推荐阅读