Как объединить цвет объекта и цвет заливки на основе свойств в Mapbox GL JS? - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь объединить эффект наведения и заливку на основе свойств как запасной вариант. Таким образом, если он находится, используйте заливку на основе свойств, если не используйте черный. Я попробовал приведенный ниже код, но получил ошибку «Ожидаемый цвет, но вместо этого найден объект». Как объединить состояние объекта с заполнением на основе свойств?

                "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"]
                        ]
                    }]
                ]

1 Ответ

0 голосов
/ 12 марта 2020

Вы неправильно пытаетесь объединить старый и новый синтаксис. Вместо:

['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" 

]
...