Как установить цвет заливки, зависит от значения атрибута объекта полигона?

Вот как я определяю полигональную особенность:

let polygon = MGLPolygonFeature(coordinates: &coordinates, count: UInt(coordinates.count))
polygon.attributes = ["name": card.name, "identifier": card.identifier, "color": card.set.colorMode] //UIColor

let cardSource = MGLShapeSource(identifier: "cards", features: [polygon], options: [:])

let polygonLayer = MGLFillStyleLayer(identifier: "polygon-level", source: cardSource)
polygonLayer.fillColor = MGLStyleValue(rawValue: "{color}")
polygonLayer.fillOpacity = MGLStyleValue(rawValue: 0.4)

но это не работает. Как установить цвет заливки в зависимости от атрибута?

1 ответ

Решение

Если вы хотите установить цвет многоугольника на основе значения цвета в его словаре атрибутов, вы можете использовать функцию идентификации.

polygonLayer.fillColor = MGLStyleValue(interpolationMode: .identity, 
                                         sourceStops: nil, 
                                         attributeName: "color",  
                                         options: nil)

Пример выбора объекта показывает другие способы стилизации слоя стиля заливки на основе значения.

Другие вопросы по тегам