如何在 Mapbox GL JS 中结合特征状态和基于 属性 的填充颜色?
How do I combine feature-state and property based fill-color in Mapbox GL JS?
我正在尝试结合悬停效果和基于 属性 的填充作为后备。因此,如果悬停,则使用基于 属性 的填充,如果不使用黑色。我尝试了下面的代码,但得到了错误 "Expected color but found object instead."。如何将特征状态与基于 属性 的填充相结合?
"fill-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#000",
['literal', {
property: "variable",
stops: [
[0.7, "#FFFF00"],
[0.8, "#FFBA07"],
[0.9, "#FFA30A"],
[0.95, "#FF1A1A"]
]
}]
]
您试图结合新旧语法是错误的。而不是:
['literal', {
property: "variable",
stops: [
[0.7, "#FFFF00"],
[0.8, "#FFBA07"],
[0.9, "#FFA30A"],
[0.95, "#FF1A1A"]
]
}]
你想要这样的东西:
['match', ['get', 'variable'],
0.7, "#FFFF00",
0.8, "#FFBA07",
0.9, "#FFA30A",
0.95, "#FF1A1A"
]
我正在尝试结合悬停效果和基于 属性 的填充作为后备。因此,如果悬停,则使用基于 属性 的填充,如果不使用黑色。我尝试了下面的代码,但得到了错误 "Expected color but found object instead."。如何将特征状态与基于 属性 的填充相结合?
"fill-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#000",
['literal', {
property: "variable",
stops: [
[0.7, "#FFFF00"],
[0.8, "#FFBA07"],
[0.9, "#FFA30A"],
[0.95, "#FF1A1A"]
]
}]
]
您试图结合新旧语法是错误的。而不是:
['literal', {
property: "variable",
stops: [
[0.7, "#FFFF00"],
[0.8, "#FFBA07"],
[0.9, "#FFA30A"],
[0.95, "#FF1A1A"]
]
}]
你想要这样的东西:
['match', ['get', 'variable'],
0.7, "#FFFF00",
0.8, "#FFBA07",
0.9, "#FFA30A",
0.95, "#FF1A1A"
]