使用Mapbox GL JS表达式设置图标偏移
我试图只为一个名为“marker_purple”的图标设置一个[5,-19]的图标偏移量,而所有其他图标的偏移量都是[0,0]。我的尝试导致给定层没有显示图标。此图层只有点几何图形类型,并且有许多不同的图标类型 我所尝试的:使用Mapbox GL JS表达式设置图标偏移,mapbox,mapbox-gl-js,mapbox-gl,Mapbox,Mapbox Gl Js,Mapbox Gl,我试图只为一个名为“marker_purple”的图标设置一个[5,-19]的图标偏移量,而所有其他图标的偏移量都是[0,0]。我的尝试导致给定层没有显示图标。此图层只有点几何图形类型,并且有许多不同的图标类型 我所尝试的: "layout": { "icon-image": "{icon}", "icon-offset": [ "case", ["==", ["get", "icon"], "marker_purple"], [5, -19], [0,
"layout": {
"icon-image": "{icon}",
"icon-offset": [
"case",
["==", ["get", "icon"], "marker_purple"],
[5, -19],
[0, 0]
]
}
我还尝试了以下方法,以防表达式无法返回数组,但仍然没有显示图标
"layout": {
"icon-image": "{icon}",
"icon-offset": [
[
"case",
["==", ["get", "icon"], "marker_purple"],
5,
0
],
[
"case",
["==", ["get", "icon"], "marker_purple"],
-19,
0
]
]
}
如果我在没有表达式的情况下指定偏移量,则一切都会正常工作
"icon-offset": [10,10]
所有图标移动[10,10]
要使表达式正常工作,我是否缺少一些东西
我很感谢你花时间阅读这篇文章,以及你能提供的任何帮助
"layout": {
"icon-image": "{icon}",
"icon-offset": [
"case",
["==", ["get", "icon"], "marker_purple"],
["literal", [5, -19]],
["literal", [0, 0]]
]
}
数组值需要“literal”表达式运算符