fixes #566: remove v3 API access
Showing
7 changed files
with
15 additions
and
22 deletions
@@ -44,9 +44,7 @@ | @@ -44,9 +44,7 @@ | ||
44 | 44 | ||
45 | /** @name Authorizing Access */ | 45 | /** @name Authorizing Access */ |
46 | 46 | ||
47 | -/** A Mapbox API access token. Obtain an access token on your [Mapbox account page](https://www.mapbox.com/account/apps/). Setting an access token will use Mapbox's `v4` API; otherwise, `v3` will be used. At a future date, `v3` support will be phased out of this library, and new Mapbox accounts only support `v4`. | ||
48 | -* | ||
49 | -* @warning Use of the Mapbox `v4` API on retina devices will use `512px` map tile images instead of `256px`, which won't be able to be composited with other tile sources that are not also `512px` in size. */ | 47 | +/** A Mapbox API access token. Obtain an access token on your [Mapbox account page](https://www.mapbox.com/account/apps/). */ |
50 | @property (nonatomic, retain) NSString *accessToken; | 48 | @property (nonatomic, retain) NSString *accessToken; |
51 | 49 | ||
52 | /** @name Cache Configuration */ | 50 | /** @name Cache Configuration */ |
@@ -135,6 +135,13 @@ static RMConfiguration *RMConfigurationSharedInstance = nil; | @@ -135,6 +135,13 @@ static RMConfiguration *RMConfigurationSharedInstance = nil; | ||
135 | return self; | 135 | return self; |
136 | } | 136 | } |
137 | 137 | ||
138 | +- (NSString *)accessToken | ||
139 | +{ | ||
140 | + NSAssert(_accessToken, @"An access token is required in order to use the Mapbox API. Obtain a token on your Mapbox account page at https://www.mapbox.com/account/apps/."); | ||
141 | + | ||
142 | + return _accessToken; | ||
143 | +} | ||
144 | + | ||
138 | - (NSDictionary *)cacheConfiguration | 145 | - (NSDictionary *)cacheConfiguration |
139 | { | 146 | { |
140 | if (_propertyList == nil) | 147 | if (_propertyList == nil) |
@@ -60,6 +60,8 @@ typedef enum : NSUInteger { | @@ -60,6 +60,8 @@ typedef enum : NSUInteger { | ||
60 | 60 | ||
61 | /** @name Creating Tile Sources */ | 61 | /** @name Creating Tile Sources */ |
62 | 62 | ||
63 | +- (id)init DEPRECATED_MSG_ATTRIBUTE("please use an explicit map ID, URL, or TileJSON string."); | ||
64 | + | ||
63 | /** Initialize a tile source using the Mapbox map ID. | 65 | /** Initialize a tile source using the Mapbox map ID. |
64 | * | 66 | * |
65 | * This method requires a network connection in order to download the TileJSON used to define the tile source. | 67 | * This method requires a network connection in order to download the TileJSON used to define the tile source. |
@@ -53,7 +53,7 @@ | @@ -53,7 +53,7 @@ | ||
53 | 53 | ||
54 | - (id)init | 54 | - (id)init |
55 | { | 55 | { |
56 | - return [self initWithReferenceURL:[NSURL fileURLWithPath:[RMMapView pathForBundleResourceNamed:kMapboxPlaceholderMapID ofType:@"json"]]]; | 56 | + return [self initWithMapID:kMapboxPlaceholderMapID]; |
57 | } | 57 | } |
58 | 58 | ||
59 | - (id)initWithMapID:(NSString *)mapID | 59 | - (id)initWithMapID:(NSString *)mapID |
@@ -167,10 +167,6 @@ | @@ -167,10 +167,6 @@ | ||
167 | { | 167 | { |
168 | return [self initWithTileJSON:dataObject enablingDataOnMapView:mapView]; | 168 | return [self initWithTileJSON:dataObject enablingDataOnMapView:mapView]; |
169 | } | 169 | } |
170 | - else if ( ! [[RMConfiguration sharedInstance] accessToken]) | ||
171 | - { | ||
172 | - RMLog(@"Unable to create Mapbox tile source and no access token is set! Please go to https://mapbox.com/account/apps/ for a token."); | ||
173 | - } | ||
174 | 170 | ||
175 | return nil; | 171 | return nil; |
176 | } | 172 | } |
@@ -192,10 +188,8 @@ | @@ -192,10 +188,8 @@ | ||
192 | 188 | ||
193 | - (NSURL *)canonicalURLForMapID:(NSString *)mapID | 189 | - (NSURL *)canonicalURLForMapID:(NSString *)mapID |
194 | { | 190 | { |
195 | - NSString *version = ([[RMConfiguration sharedInstance] accessToken] ? @"v4" : @"v3"); | ||
196 | - NSString *accessToken = ([[RMConfiguration sharedInstance] accessToken] ? [@"&access_token=" stringByAppendingString:[[RMConfiguration sharedInstance] accessToken]] : @""); | ||
197 | - | ||
198 | - return [NSURL URLWithString:[NSString stringWithFormat:@"https://api.tiles.mapbox.com/%@/%@.json?secure%@", version, mapID, accessToken]]; | 191 | + return [NSURL URLWithString:[NSString stringWithFormat:@"https://api.tiles.mapbox.com/v4/%@.json?secure%@", mapID, |
192 | + [@"&access_token=" stringByAppendingString:[[RMConfiguration sharedInstance] accessToken]]]]; | ||
199 | } | 193 | } |
200 | 194 | ||
201 | - (NSURL *)tileJSONURL | 195 | - (NSURL *)tileJSONURL |
@@ -140,17 +140,14 @@ | @@ -140,17 +140,14 @@ | ||
140 | 140 | ||
141 | - (id)initWithMapboxMarkerImage:(NSString *)symbolName tintColorHex:(NSString *)colorHex sizeString:(NSString *)sizeString | 141 | - (id)initWithMapboxMarkerImage:(NSString *)symbolName tintColorHex:(NSString *)colorHex sizeString:(NSString *)sizeString |
142 | { | 142 | { |
143 | - NSString *version = ([[RMConfiguration sharedInstance] accessToken] ? @"v4" : @"v3"); | ||
144 | - NSString *accessToken = ([[RMConfiguration sharedInstance] accessToken] ? [@"?access_token=" stringByAppendingString:[[RMConfiguration sharedInstance] accessToken]] : @""); | ||
145 | BOOL useRetina = ([[UIScreen mainScreen] scale] > 1.0); | 143 | BOOL useRetina = ([[UIScreen mainScreen] scale] > 1.0); |
146 | 144 | ||
147 | - NSURL *imageURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://api.tiles.mapbox.com/%@/marker/pin-%@%@%@%@.png%@", | ||
148 | - version, | 145 | + NSURL *imageURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://api.tiles.mapbox.com/v4/marker/pin-%@%@%@%@.png%@", |
149 | (sizeString ? [sizeString substringToIndex:1] : @"m"), | 146 | (sizeString ? [sizeString substringToIndex:1] : @"m"), |
150 | (symbolName ? [@"-" stringByAppendingString:symbolName] : @""), | 147 | (symbolName ? [@"-" stringByAppendingString:symbolName] : @""), |
151 | (colorHex ? [@"+" stringByAppendingString:[colorHex stringByReplacingOccurrencesOfString:@"#" withString:@""]] : @"+ff0000"), | 148 | (colorHex ? [@"+" stringByAppendingString:[colorHex stringByReplacingOccurrencesOfString:@"#" withString:@""]] : @"+ff0000"), |
152 | (useRetina ? @"@2x" : @""), | 149 | (useRetina ? @"@2x" : @""), |
153 | - accessToken]]; | 150 | + [@"?access_token=" stringByAppendingString:[[RMConfiguration sharedInstance] accessToken]]]]; |
154 | 151 | ||
155 | UIImage *image = nil; | 152 | UIImage *image = nil; |
156 | 153 |
1 | -{"attribution":"<a href='https://mapbox.com/about/maps' target='_blank'>Terms & Feedback</a>","bounds":[-180,-85.0511,180,85.0511],"center":[0,0,3],"description":"","geocoder":"https://a.tiles.mapbox.com/v3/examples.map-z2effxa8/geocode/{query}.jsonp","id":"examples.map-z2effxa8","maxzoom":19,"minzoom":0,"name":"Mapbox iOS Example","private":true,"scheme":"xyz","tilejson":"2.0.0","tiles":["https://a.tiles.mapbox.com/v3/examples.map-z2effxa8/{z}/{x}/{y}.png","https://b.tiles.mapbox.com/v3/examples.map-z2effxa8/{z}/{x}/{y}.png","https://c.tiles.mapbox.com/v3/examples.map-z2effxa8/{z}/{x}/{y}.png","https://d.tiles.mapbox.com/v3/examples.map-z2effxa8/{z}/{x}/{y}.png"],"webpage":"https://tiles.mapbox.com/examples/map/map-z2effxa8"} |
@@ -93,7 +93,6 @@ | @@ -93,7 +93,6 @@ | ||
93 | DD1985C2165C5F6400DF667F /* RMTileMillSource.m in Sources */ = {isa = PBXBuildFile; fileRef = DD1985C0165C5F6400DF667F /* RMTileMillSource.m */; }; | 93 | DD1985C2165C5F6400DF667F /* RMTileMillSource.m in Sources */ = {isa = PBXBuildFile; fileRef = DD1985C0165C5F6400DF667F /* RMTileMillSource.m */; }; |
94 | DD1E3C6E161F954F004FC649 /* SMCalloutView.h in Headers */ = {isa = PBXBuildFile; fileRef = DD1E3C6C161F954F004FC649 /* SMCalloutView.h */; }; | 94 | DD1E3C6E161F954F004FC649 /* SMCalloutView.h in Headers */ = {isa = PBXBuildFile; fileRef = DD1E3C6C161F954F004FC649 /* SMCalloutView.h */; }; |
95 | DD1E3C6F161F954F004FC649 /* SMCalloutView.m in Sources */ = {isa = PBXBuildFile; fileRef = DD1E3C6D161F954F004FC649 /* SMCalloutView.m */; }; | 95 | DD1E3C6F161F954F004FC649 /* SMCalloutView.m in Sources */ = {isa = PBXBuildFile; fileRef = DD1E3C6D161F954F004FC649 /* SMCalloutView.m */; }; |
96 | - DD280D1416EFDDD30014B549 /* examples.map-z2effxa8.json in Resources */ = {isa = PBXBuildFile; fileRef = DD280D1216EFDDD30014B549 /* examples.map-z2effxa8.json */; }; | ||
97 | DD2B375514CF8197008DE8CB /* RMMBTilesSource.h in Headers */ = {isa = PBXBuildFile; fileRef = DD2B375314CF8197008DE8CB /* RMMBTilesSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; | 96 | DD2B375514CF8197008DE8CB /* RMMBTilesSource.h in Headers */ = {isa = PBXBuildFile; fileRef = DD2B375314CF8197008DE8CB /* RMMBTilesSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
98 | DD2B375614CF8197008DE8CB /* RMMBTilesSource.m in Sources */ = {isa = PBXBuildFile; fileRef = DD2B375414CF8197008DE8CB /* RMMBTilesSource.m */; }; | 97 | DD2B375614CF8197008DE8CB /* RMMBTilesSource.m in Sources */ = {isa = PBXBuildFile; fileRef = DD2B375414CF8197008DE8CB /* RMMBTilesSource.m */; }; |
99 | DD36766B17D94F980001F27B /* mapbox-logo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DD36766A17D94F980001F27B /* mapbox-logo@2x.png */; }; | 98 | DD36766B17D94F980001F27B /* mapbox-logo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DD36766A17D94F980001F27B /* mapbox-logo@2x.png */; }; |
@@ -277,7 +276,6 @@ | @@ -277,7 +276,6 @@ | ||
277 | DD1985C0165C5F6400DF667F /* RMTileMillSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RMTileMillSource.m; sourceTree = "<group>"; }; | 276 | DD1985C0165C5F6400DF667F /* RMTileMillSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RMTileMillSource.m; sourceTree = "<group>"; }; |
278 | DD1E3C6C161F954F004FC649 /* SMCalloutView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SMCalloutView.h; path = SMCalloutView/SMCalloutView.h; sourceTree = "<group>"; }; | 277 | DD1E3C6C161F954F004FC649 /* SMCalloutView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SMCalloutView.h; path = SMCalloutView/SMCalloutView.h; sourceTree = "<group>"; }; |
279 | DD1E3C6D161F954F004FC649 /* SMCalloutView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SMCalloutView.m; path = SMCalloutView/SMCalloutView.m; sourceTree = "<group>"; }; | 278 | DD1E3C6D161F954F004FC649 /* SMCalloutView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SMCalloutView.m; path = SMCalloutView/SMCalloutView.m; sourceTree = "<group>"; }; |
280 | - DD280D1216EFDDD30014B549 /* examples.map-z2effxa8.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = "examples.map-z2effxa8.json"; path = "Map/Resources/examples.map-z2effxa8.json"; sourceTree = "<group>"; }; | ||
281 | DD2B375314CF8197008DE8CB /* RMMBTilesSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RMMBTilesSource.h; sourceTree = "<group>"; }; | 279 | DD2B375314CF8197008DE8CB /* RMMBTilesSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RMMBTilesSource.h; sourceTree = "<group>"; }; |
282 | DD2B375414CF8197008DE8CB /* RMMBTilesSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RMMBTilesSource.m; sourceTree = "<group>"; }; | 280 | DD2B375414CF8197008DE8CB /* RMMBTilesSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RMMBTilesSource.m; sourceTree = "<group>"; }; |
283 | DD36766A17D94F980001F27B /* mapbox-logo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "mapbox-logo@2x.png"; path = "Map/Resources/mapbox-logo@2x.png"; sourceTree = "<group>"; }; | 281 | DD36766A17D94F980001F27B /* mapbox-logo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "mapbox-logo@2x.png"; path = "Map/Resources/mapbox-logo@2x.png"; sourceTree = "<group>"; }; |
@@ -652,7 +650,6 @@ | @@ -652,7 +650,6 @@ | ||
652 | DD932BC1165C287600D69D49 /* Resources */ = { | 650 | DD932BC1165C287600D69D49 /* Resources */ = { |
653 | isa = PBXGroup; | 651 | isa = PBXGroup; |
654 | children = ( | 652 | children = ( |
655 | - DD280D1216EFDDD30014B549 /* examples.map-z2effxa8.json */, | ||
656 | DD932BA5165C287000D69D49 /* mapbox.png */, | 653 | DD932BA5165C287000D69D49 /* mapbox.png */, |
657 | DD932BA6165C287000D69D49 /* mapbox@2x.png */, | 654 | DD932BA6165C287000D69D49 /* mapbox@2x.png */, |
658 | DDE68E5917D94C0500F1E869 /* mapbox-logo.png */, | 655 | DDE68E5917D94C0500F1E869 /* mapbox-logo.png */, |
@@ -911,7 +908,6 @@ | @@ -911,7 +908,6 @@ | ||
911 | DD07A23D17F3AF9800E420B2 /* HeadingAngleMaskLarge@2x.png in Resources */, | 908 | DD07A23D17F3AF9800E420B2 /* HeadingAngleMaskLarge@2x.png in Resources */, |
912 | DD94D46C16C2E064003D5739 /* HeadingAngleMedium.png in Resources */, | 909 | DD94D46C16C2E064003D5739 /* HeadingAngleMedium.png in Resources */, |
913 | DD94D46D16C2E064003D5739 /* HeadingAngleMedium@2x.png in Resources */, | 910 | DD94D46D16C2E064003D5739 /* HeadingAngleMedium@2x.png in Resources */, |
914 | - DD280D1416EFDDD30014B549 /* examples.map-z2effxa8.json in Resources */, | ||
915 | DD07A23B17F3AF9800E420B2 /* HeadingAngleMaskSmall@2x.png in Resources */, | 911 | DD07A23B17F3AF9800E420B2 /* HeadingAngleMaskSmall@2x.png in Resources */, |
916 | DD36766B17D94F980001F27B /* mapbox-logo@2x.png in Resources */, | 912 | DD36766B17D94F980001F27B /* mapbox-logo@2x.png in Resources */, |
917 | DDA257021798A95600BBB325 /* TrackingLocationOffMask@2x.png in Resources */, | 913 | DDA257021798A95600BBB325 /* TrackingLocationOffMask@2x.png in Resources */, |
-
Please register or login to post a comment