Skip to content

Commit 118a220

Browse files
committed
Renamed token to key, creating static var to set the key for all requests.
1 parent ffb8c20 commit 118a220

File tree

3 files changed

+20
-5
lines changed

3 files changed

+20
-5
lines changed

Demo/Classes/SVGeocoderAppAppDelegate.m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
2525
// Add the view controller's view to the window and display.
2626
[self.window addSubview:viewController.view];
2727
[self.window makeKeyAndVisible];
28+
29+
[SVGeocoder setGoogleMapsAPIKey:@"KEY"];
2830

2931
return YES;
3032
}

SVGeocoder/SVGeocoder.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,25 @@ typedef void (^SVGeocoderCompletionHandler)(NSArray *placemarks, NSHTTPURLRespon
2626

2727
@interface SVGeocoder : NSOperation
2828

29+
// Set static Google Maps API Key for all requests.
30+
// The key will be included in the request if it's
31+
// not nil.
32+
+ (void)setGoogleMapsAPIKey:(NSString*)key;
33+
2934
+ (SVGeocoder*)geocode:(NSString *)address completion:(SVGeocoderCompletionHandler)block;
35+
3036
+ (SVGeocoder*)geocode:(NSString *)address region:(CLRegion *)region completion:(SVGeocoderCompletionHandler)block;
3137

3238
+ (SVGeocoder*)reverseGeocode:(CLLocationCoordinate2D)coordinate completion:(SVGeocoderCompletionHandler)block;
3339

3440
- (SVGeocoder*)initWithAddress:(NSString *)address completion:(SVGeocoderCompletionHandler)block;
41+
3542
- (SVGeocoder*)initWithAddress:(NSString *)address region:(CLRegion *)region completion:(SVGeocoderCompletionHandler)block;
3643

3744
- (SVGeocoder*)initWithCoordinate:(CLLocationCoordinate2D)coordinate completion:(SVGeocoderCompletionHandler)block;
3845

39-
- (void)setGoogleMapsToken:(NSString*)token;
4046
- (void)start;
47+
4148
- (void)cancel;
4249

4350
@end

SVGeocoder/SVGeocoder.m

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
};
2121

2222
typedef NSUInteger SVGeocoderState;
23-
23+
static NSString *googleMapsAPIKey;
2424

2525
@interface NSString (URLEncoding)
2626
- (NSString*)encodedURLParameterString;
@@ -42,9 +42,11 @@ @interface SVGeocoder ()
4242
- (SVGeocoder*)initWithParameters:(NSMutableDictionary*)parameters completion:(SVGeocoderCompletionHandler)block;
4343

4444
- (void)addParametersToRequest:(NSMutableDictionary*)parameters;
45+
4546
- (void)finish;
4647

4748
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error;
49+
4850
- (void)callCompletionBlockWithResponse:(id)response error:(NSError *)error;
4951

5052
@end
@@ -102,7 +104,6 @@ - (SVGeocoder*)initWithAddress:(NSString*)address completion:(SVGeocoderCompleti
102104
return [self initWithParameters:parameters completion:block];
103105
}
104106

105-
106107
- (SVGeocoder*)initWithAddress:(NSString *)address region:(CLRegion *)region completion:(SVGeocoderCompletionHandler)block {
107108
MKCoordinateRegion coordinateRegion = MKCoordinateRegionMakeWithDistance(region.center, region.radius, region.radius);
108109
NSMutableDictionary *parameters = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@@ -116,9 +117,9 @@ - (SVGeocoder*)initWithAddress:(NSString *)address region:(CLRegion *)region com
116117
return [self initWithParameters:parameters completion:block];
117118
}
118119

119-
- (void)setGoogleMapsToken:(NSString *)token {
120+
+ (void)setGoogleMapsAPIKey:(NSString *)key {
120121

121-
[self addParametersToRequest:[@{@"key": token} mutableCopy]];
122+
googleMapsAPIKey = [key copy];
122123

123124
}
124125

@@ -132,6 +133,11 @@ - (SVGeocoder*)initWithParameters:(NSMutableDictionary*)parameters completion:(S
132133

133134
[parameters setValue:@"true" forKey:@"sensor"];
134135
[parameters setValue:[NSLocale preferredLanguages][0] forKey:@"language"];
136+
137+
if (googleMapsAPIKey) {
138+
[parameters setValue:googleMapsAPIKey forKey:@"key"];
139+
}
140+
135141
[self addParametersToRequest:parameters];
136142

137143
self.state = SVGeocoderStateReady;

0 commit comments

Comments
 (0)