Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Commit

Permalink
mapID → styleID
Browse files Browse the repository at this point in the history
Deprecated `-mapID` and `-setMapID:` to accurately reflect the APIs the ID is used for. Marked the property unavailable but reimplemented its getter and setter to assert with helpful messages.

Fixes #1500.
  • Loading branch information
1ec5 committed May 14, 2015
1 parent 594603f commit 00b2e13
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 15 deletions.
2 changes: 1 addition & 1 deletion include/mbgl/ios/MGLMapView+IBAdditions.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
// MGLMapView+IBAdditions.h, due to ASCII sort order.

@property (nonatomic) IBInspectable NSString *accessToken;
@property (nonatomic) IBInspectable NSString *mapID;
@property (nonatomic) IBInspectable NSString *styleID;

// Convenience properties related to the initial viewport. These properties
// are not meant to be used outside of Interface Builder. latitude and longitude
Expand Down
7 changes: 4 additions & 3 deletions include/mbgl/ios/MGLMapView.h
Original file line number Diff line number Diff line change
Expand Up @@ -162,12 +162,13 @@ IB_DESIGNABLE

/** @name Styling the Map */

/** Mapbox map ID of the style currently displayed in the receiver, or `nil` if the style does not have a map ID.
/** Mapbox ID of the style currently displayed in the receiver, or `nil` if the style does not have an ID.
*
* The style may lack a map ID if it is located at an HTTP, HTTPS, or local file URL. Use `styleURL` to get the URL in these cases.
* The style may lack an ID if it is located at an HTTP, HTTPS, or local file URL. Use `styleURL` to get the URL in these cases.
*
* To display the default style, set this property to `nil`. */
@property (nonatomic) NSString *mapID;
@property (nonatomic) NSString *styleID;
@property (nonatomic) NSString *mapID __attribute__((unavailable("Use styleID.")));

/** Returns the URLs to the styles bundled with the library. */
- (NSArray *)bundledStyleURLs;
Expand Down
26 changes: 15 additions & 11 deletions platform/ios/MGLMapView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ - (void)setAccessToken:(NSString *)accessToken

+ (NSSet *)keyPathsForValuesAffectingStyleURL
{
return [NSSet setWithObjects:@"mapID", @"accessToken", nil];
return [NSSet setWithObjects:@"styleID", @"accessToken", nil];
}

- (NSURL *)styleURL
Expand Down Expand Up @@ -1543,27 +1543,31 @@ - (NSArray *)bundledStyleURLs
return [NSArray arrayWithArray:_bundledStyleURLs];
}

+ (NSSet *)keyPathsForValuesAffectingMapID
+ (NSSet *)keyPathsForValuesAffectingStyleID
{
return [NSSet setWithObjects:@"styleURL", @"accessToken", nil];
}

- (NSString *)mapID
- (NSString *)styleID
{
NSURL *styleURL = self.styleURL;
return [styleURL.scheme isEqualToString:@"mapbox"] ? styleURL.host.mgl_stringOrNilIfEmpty : nil;
}

- (void)setStyleID:(NSString *)styleID
{
self.styleURL = styleID ? [NSURL URLWithString:[NSString stringWithFormat:@"mapbox://%@", styleID]] : nil;
}

- (NSString *)mapID
{
NSAssert(NO, @"-[MGLMapView mapID] has been renamed -[MGLMapView styleID].");
return nil;
}

- (void)setMapID:(NSString *)mapID
{
if (mapID)
{
self.styleURL = [NSURL URLWithString:[NSString stringWithFormat:@"mapbox://%@", mapID]];
}
else
{
self.styleURL = nil;
}
NSAssert(NO, @"-[MGLMapView setMapID:] has been renamed -[MGLMapView setStyleID:].\n\nIf you previously set this map ID in a storyboard inspectable, select the MGLMapView in Interface Builder and delete the “mapID” entry from the User Defined Runtime Attributes section of the Identity inspector. Then go to the Attributes inspector and enter “%@” into the “Style ID” field.", mapID);
}

- (NSArray *)styleClasses
Expand Down

0 comments on commit 00b2e13

Please sign in to comment.