我在mapbox地图中使用一个表达式来确定要显示的图标。看起来像这样:
"icon-image": [
"case",
["==", ["get", "matched"], "True"],
"greenmarkertick",
"redmarkercross",
]
我需要在此表达式中添加另一个条件,例如,当match为True时,其他情况不匹配:
["!=", ["get", "vehicle"], ["get", "standstill_vehicle"]]
我尝试将其直接添加到我的case表达式中,如下所示:
"icon-image": [
"case",
["==", ["get", "matched"], "True"],
"greenmarker",
["!=", ["get", "vehicle"], ["get", "standstill_vehicle"]],
"orangemarker",
"redmarker",
]
但这没用。
基本上我需要一个表达式来检查matched
属性是否为true,然后检查车辆属性是否匹配。
如果它们确实显示绿色标记,则不显示橙色标记。如果matched
为假,则应显示红色标记。
任何帮助,将不胜感激。
答案 0 :(得分:1)
我发布了case
表达式中表达式的位置确实很重要。因此,我使用以下表达式解决了我的问题:
"icon-image": [
"case",
["all", ["==", ["get", "matched"], "True"], ["!=", ["get", "vehicle"], ["get", "standstill_vehicle"]]],
"orangemarker",
["==", ["get", "matched"], "True"],
"greenmarker",
"redmarker",
]