mapbox API :如何为 'get' 表达式设置回退?

mapbox API : how can I set a fallback for the 'get' expression?

我用这个表达式来设置图层的线条颜色

map.addLayer({
  ...
  'paint': {
    'line-color': ['get', 'color'],
  },
  ...
})

但是颜色属性没有定义怎么办?有没有办法设置回退值? 谢谢

您可以使用 coalesce 表达式 (docs here) 轻松完成此操作,该表达式将始终解析为提供的值列表中的第一个非空值。

在您的示例中,这类似于:

map.addLayer({
  ...
  'paint': {
    'line-color': ['coalesce', ['get', 'color'], '#00ffff']
  },
  ...
})

这个表达式用于确定图标回退有一个更复杂的示例 here


⚠️ 免责声明:我目前在 Mapbox 工作 ⚠️