Вопросы

Изменить цвет значка для некластеризованных маркеров в Mapbox IOS

Я пытаюсь реализовать кластеризацию в Mapbox в IOS. Я хочу изменить цвет некластеризованного StyleLayer в зависимости от конкретного атрибута в MGLPointFeature. Ниже приведен код для одной функции:

let feature = MGLPointFeature()
feature.coordinate = CLLocationCoordinate2D(latitude: site.latitude, longitude: site.longitude)
feature.attributes = ["id": site.siteId, "siteCode": site.siteCode, "risk": site.riskId]

в приведенном выше фрагменте я хочу использовать этот атрибут (risk: site.riskId) для создания разных цветов для значка, который устанавливается с помощью следующего кода:


style.setImage(icon.withRenderingMode(.alwaysTemplate), forName: "icon")

let ports = MGLSymbolStyleLayer(identifier: "ports", source: source)
ports.iconImageName = NSExpression(forConstantValue: "icon")    
ports.predicate = NSPredicate(format: "cluster != YES")
ports.iconAllowsOverlap = NSExpression(forConstantValue: true)
style.addLayer(ports)

и следующие цвета для каждого идентификатора риска:

let risks = [
        0: Color.cellBackgroundColor,
        1: UIColor.from(hexString:  "B9E5D1"),
        2: UIColor.from(hexString:  "95E9FF"),
        3: UIColor.from(hexString:  "FCE2A6"),
        4: UIColor.from(hexString:  "FCE2A6")
    ]

У меня есть идея, что я могу получить эти результаты, используя NSExpression для атрибутов функций. Но понятия не имею, как это реализовать. Может ли кто-нибудь помочь мне сделать это. Спасибо

Читать:
подсчет общего прогресса загрузки нескольких файлов с AFNetworking

Похожие записи

Страницы Github с настраиваемой безопасностью CNAME

admin

FiPy для потока заряженных частиц

admin

Импорт s3 Bucket в шаблон Cloudformation

admin

Передача указателей переменных в Julia

admin

Почему кеши Xcode такие огромные?

admin

Неопубликованные статические данные

admin