Mapbox, как установить цвет заливки на MGLPolygonFeature (или добавить атрибуты объекта) - PullRequest
0 голосов
/ 16 февраля 2020

MGLPolygonFeature должен поддерживать MGLFeature как набор атрибутов в PolygonFeature.

Однако я не могу найти документацию о том, как go настроить атрибуты на уровне многоугольника. Большая часть документации относится к слою плитки, или мне просто не хватает клея, который мне нужен для решения этой проблемы.

Моя цель - назначить заливку, непрозрачность, цвет обводки и ширину обводки для полигона в то время Я создаю функцию многоугольника, чтобы при создании множества многоугольников все они имели независимые цвета заливки, основанные на некоторых критериях, указывающих c для этого конкретного многоугольника.

Предоставляется некоторый код попытки решить проблему ниже - но, как видно, чего-то не хватает для установки атрибутов.

    let polygon = MGLPolygonFeature(coordinates: coordinates, count: UInt(coordinates.count))
    let identifier = "\(name)"
    let source = MGLShapeSource(identifier: identifier, shape: polygon)
    let fill = MGLFillStyleLayer(identifier: identifier, source: source)
    fill.fillColor = NSExpression(forConstantValue: UIColor.green)
    fill.fillOpacity = NSExpression(forConstantValue: 0.3)
    polygon.attribute(forKey: "fillColor") = fill // non-mutable property cannot be added
    return polygon

Сам полигон не имеет свойств слоя, но документация из mapbox, кажется, предполагает, что добавление атрибутов - это путь чтобы достичь того, чего я хочу.

Есть какие-нибудь подсказки, чего мне не хватает?

...