diff options
-rw-r--r-- | include/mbgl/ios/MGLMapView.h | 12 | ||||
-rw-r--r-- | platform/ios/MGLMapView.mm | 23 |
2 files changed, 34 insertions, 1 deletions
diff --git a/include/mbgl/ios/MGLMapView.h b/include/mbgl/ios/MGLMapView.h index 5db1f425d5..f2aef61830 100644 --- a/include/mbgl/ios/MGLMapView.h +++ b/include/mbgl/ios/MGLMapView.h @@ -181,6 +181,18 @@ IB_DESIGNABLE * To display the default style, set this property to `nil`. */ @property (nonatomic) NSURL *styleURL; +/** Currently active style classes, represented as an array of string identifiers. */ +@property (nonatomic) NSArray *styleClasses; + +/** Returns a Boolean value indicating whether the style class with the given identifier is currently active. */ +- (BOOL)hasStyleClass:(NSString *)styleClass; + +/** Activates the style class with the given identifier. */ +- (void)addStyleClass:(NSString *)styleClass; + +/** Deactivates the style class with the given identifier. */ +- (void)removeStyleClass:(NSString *)styleClass; + #pragma mark - Annotating the Map /** @name Annotating the Map */ diff --git a/platform/ios/MGLMapView.mm b/platform/ios/MGLMapView.mm index 1a9ef9d683..f70f9f348f 100644 --- a/platform/ios/MGLMapView.mm +++ b/platform/ios/MGLMapView.mm @@ -1357,7 +1357,7 @@ CLLocationCoordinate2D latLngToCoordinate(mbgl::LatLng latLng) } } -- (NSArray *)getAppliedStyleClasses +- (NSArray *)styleClasses { NSMutableArray *returnArray = [NSMutableArray array]; @@ -1389,6 +1389,27 @@ CLLocationCoordinate2D latLngToCoordinate(mbgl::LatLng latLng) mbglMap->setClasses(newAppliedClasses); } +- (BOOL)hasStyleClass:(NSString *)styleClass +{ + return styleClass && mbglMap->hasClass([styleClass UTF8String]); +} + +- (void)addStyleClass:(NSString *)styleClass +{ + if (styleClass) + { + mbglMap->addClass([styleClass UTF8String]); + } +} + +- (void)removeStyleClass:(NSString *)styleClass +{ + if (styleClass) + { + mbglMap->removeClass([styleClass UTF8String]); + } +} + #pragma mark - Annotations - - (NSArray *)annotations |