У меня есть такое перечисление, которое я хотел бы назначить выводам, так что в зависимости от этого значения перечисления, изображение выводов будет другим:
typedef NS_ENUM(NSInteger, MyType) {
MyTypeUnknown = 0,
MyTypeOne,
MyTypeTwo,
};
У меня есть слой для некластерные контакты:
MGLSymbolStyleLayer *markerLayer = [[MGLSymbolStyleLayer alloc] initWithIdentifier:@"markerLayerId" source:source];
markerLayer.predicate = [NSPredicate predicateWithFormat:@"cluster != YES"];
[style addLayer: markerLayer];
и я знаю, что хочу добавить различные изображения на основе type
пина.Единственное, в чем я уверен, это то, что мне нужно добавить эти изображения в слой:
[style setImage:[UIImage imageNamed:@"img0"] forName:@"img0id"];
[style setImage:[UIImage imageNamed:@"img1"] forName:@"img1id"];
[style setImage:[UIImage imageNamed:@"img2"] forName:@"img2id"];
Теперь я должен задать имя, но я не уверен, как:
markerLayer.iconImageName = [NSExpression expressionForConstantValue:@"???"]; // or withFormat..?
Я переопределил их класс, добавив свои собственные свойства:
@objc class MyPointFeature: MGLPointFeature {
@objc var type: MyType = .unknown
}
И я действительно потерял, как включить это свойство type
, чтобы установить изображение булавки.Любая помощь, пожалуйста?