5
5
#import " FLTGoogleMapTileOverlayController.h"
6
6
#import " JsonConversions.h"
7
7
8
- static void InterpretTileOverlayOptions (NSDictionary *data,
9
- id <FLTGoogleMapTileOverlayOptionsSink> sink,
10
- NSObject <FlutterPluginRegistrar> *registrar) {
11
- NSNumber *visible = data[@" visible" ];
12
- if (visible != nil ) {
13
- [sink setVisible: visible.boolValue];
14
- }
15
-
16
- NSNumber *transparency = data[@" transparency" ];
17
- if (transparency != nil ) {
18
- [sink setTransparency: transparency.floatValue];
19
- }
20
-
21
- NSNumber *zIndex = data[@" zIndex" ];
22
- if (zIndex != nil ) {
23
- [sink setZIndex: zIndex.intValue];
24
- }
25
-
26
- NSNumber *fadeIn = data[@" fadeIn" ];
27
- if (fadeIn != nil ) {
28
- [sink setFadeIn: fadeIn.boolValue];
29
- }
30
-
31
- NSNumber *tileSize = data[@" tileSize" ];
32
- if (tileSize != nil ) {
33
- [sink setTileSize: tileSize.integerValue];
34
- }
35
- }
36
-
37
8
@interface FLTGoogleMapTileOverlayController ()
38
9
39
10
@property (strong , nonatomic ) GMSTileLayer *layer;
@@ -46,8 +17,8 @@ @implementation FLTGoogleMapTileOverlayController
46
17
- (instancetype )initWithTileLayer : (GMSTileLayer *)tileLayer mapView : (GMSMapView *)mapView {
47
18
self = [super init ];
48
19
if (self) {
49
- self. layer = tileLayer;
50
- self. mapView = mapView;
20
+ _layer = tileLayer;
21
+ _mapView = mapView;
51
22
}
52
23
return self;
53
24
}
@@ -98,17 +69,17 @@ - (void)setTileSize:(NSInteger)tileSize {
98
69
@interface FLTTileProviderController ()
99
70
100
71
@property (weak , nonatomic ) FlutterMethodChannel *methodChannel;
101
- @property (copy , nonatomic , readwrite ) NSString *tileOverlayId;
102
72
103
73
@end
104
74
105
75
@implementation FLTTileProviderController
106
76
107
- - (instancetype )init : (FlutterMethodChannel *)methodChannel tileOverlayId : (NSString *)tileOverlayId {
77
+ - (instancetype )init : (FlutterMethodChannel *)methodChannel
78
+ tileOverlayIdentifier : (NSString *)identifier {
108
79
self = [super init ];
109
80
if (self) {
110
- self. methodChannel = methodChannel;
111
- self. tileOverlayId = tileOverlayId ;
81
+ _methodChannel = methodChannel;
82
+ _tileOverlayIdentifier = identifier ;
112
83
}
113
84
return self;
114
85
}
@@ -122,7 +93,7 @@ - (void)requestTileForX:(NSUInteger)x
122
93
[self .methodChannel
123
94
invokeMethod: @" tileOverlay#getTile"
124
95
arguments: @{
125
- @" tileOverlayId" : self.tileOverlayId ,
96
+ @" tileOverlayId" : self.tileOverlayIdentifier ,
126
97
@" x" : @(x),
127
98
@" y" : @(y),
128
99
@" zoom" : @(zoom)
@@ -156,9 +127,8 @@ - (void)requestTileForX:(NSUInteger)x
156
127
157
128
@interface FLTTileOverlaysController ()
158
129
159
- @property (strong , nonatomic ) NSMutableDictionary *tileOverlayIdToController ;
130
+ @property (strong , nonatomic ) NSMutableDictionary *tileOverlayIdentifierToController ;
160
131
@property (weak , nonatomic ) FlutterMethodChannel *methodChannel;
161
- @property (weak , nonatomic ) NSObject <FlutterPluginRegistrar> *registrar;
162
132
@property (weak , nonatomic ) GMSMapView *mapView;
163
133
164
134
@end
@@ -172,63 +142,94 @@ - (instancetype)init:(FlutterMethodChannel *)methodChannel
172
142
if (self) {
173
143
self.methodChannel = methodChannel;
174
144
self.mapView = mapView;
175
- self.tileOverlayIdToController = [[NSMutableDictionary alloc ] init ];
176
- self.registrar = registrar;
145
+ self.tileOverlayIdentifierToController = [[NSMutableDictionary alloc ] init ];
177
146
}
178
147
return self;
179
148
}
180
149
181
150
- (void )addTileOverlays : (NSArray *)tileOverlaysToAdd {
182
151
for (NSDictionary *tileOverlay in tileOverlaysToAdd) {
183
- NSString *tileOverlayId = [FLTTileOverlaysController getTileOverlayId : tileOverlay];
152
+ NSString *identifier = [FLTTileOverlaysController getTileOverlayIdentifier : tileOverlay];
184
153
FLTTileProviderController *tileProvider =
185
- [[FLTTileProviderController alloc ] init: self .methodChannel tileOverlayId: tileOverlayId];
154
+ [[FLTTileProviderController alloc ] init: self .methodChannel
155
+ tileOverlayIdentifier: identifier];
186
156
FLTGoogleMapTileOverlayController *controller =
187
157
[[FLTGoogleMapTileOverlayController alloc ] initWithTileLayer: tileProvider
188
158
mapView: self .mapView];
189
- InterpretTileOverlayOptions ( tileOverlay, controller, self. registrar ) ;
190
- self.tileOverlayIdToController [tileOverlayId ] = controller;
159
+ [FLTTileOverlaysController interpretTileOverlayOptions: tileOverlay sink: controller] ;
160
+ self.tileOverlayIdentifierToController [identifier ] = controller;
191
161
}
192
162
}
193
163
194
164
- (void )changeTileOverlays : (NSArray *)tileOverlaysToChange {
195
165
for (NSDictionary *tileOverlay in tileOverlaysToChange) {
196
- NSString *tileOverlayId = [FLTTileOverlaysController getTileOverlayId: tileOverlay];
197
- FLTGoogleMapTileOverlayController *controller = self.tileOverlayIdToController [tileOverlayId];
166
+ NSString *identifier = [FLTTileOverlaysController getTileOverlayIdentifier: tileOverlay];
167
+ FLTGoogleMapTileOverlayController *controller =
168
+ self.tileOverlayIdentifierToController [identifier];
198
169
if (!controller) {
199
170
continue ;
200
171
}
201
- InterpretTileOverlayOptions ( tileOverlay, controller, self. registrar ) ;
172
+ [FLTTileOverlaysController interpretTileOverlayOptions: tileOverlay sink: controller] ;
202
173
}
203
174
}
204
- - (void )removeTileOverlayIds : (NSArray *)tileOverlayIdsToRemove {
205
- for (NSString *tileOverlayId in tileOverlayIdsToRemove) {
206
- FLTGoogleMapTileOverlayController *controller = self.tileOverlayIdToController [tileOverlayId];
175
+ - (void )removeTileOverlayWithIdentifiers : (NSArray *)identifiers {
176
+ for (NSString *identifier in identifiers) {
177
+ FLTGoogleMapTileOverlayController *controller =
178
+ self.tileOverlayIdentifierToController [identifier];
207
179
if (!controller) {
208
180
continue ;
209
181
}
210
182
[controller removeTileOverlay ];
211
- [self .tileOverlayIdToController removeObjectForKey: tileOverlayId ];
183
+ [self .tileOverlayIdentifierToController removeObjectForKey: identifier ];
212
184
}
213
185
}
214
186
215
- - (void )clearTileCache : (NSString *)tileOverlayId {
216
- FLTGoogleMapTileOverlayController *controller = self.tileOverlayIdToController [tileOverlayId];
187
+ - (void )clearTileCacheWithIdentifier : (NSString *)identifier {
188
+ FLTGoogleMapTileOverlayController *controller =
189
+ self.tileOverlayIdentifierToController [identifier];
217
190
if (!controller) {
218
191
return ;
219
192
}
220
193
[controller clearTileCache ];
221
194
}
222
195
223
- - (nullable NSDictionary *)getTileOverlayInfo : (NSString *)tileverlayId {
224
- if (self.tileOverlayIdToController [tileverlayId ] == nil ) {
196
+ - (nullable NSDictionary *)getTileOverlayInfoWithIdentifier : (NSString *)identifier {
197
+ if (self.tileOverlayIdentifierToController [identifier ] == nil ) {
225
198
return nil ;
226
199
}
227
- return [self .tileOverlayIdToController[tileverlayId ] getTileOverlayInfo ];
200
+ return [self .tileOverlayIdentifierToController[identifier ] getTileOverlayInfo ];
228
201
}
229
202
230
- + (NSString *)getTileOverlayId : (NSDictionary *)tileOverlay {
203
+ + (NSString *)getTileOverlayIdentifier : (NSDictionary *)tileOverlay {
231
204
return tileOverlay[@" tileOverlayId" ];
232
205
}
233
206
207
+ + (void )interpretTileOverlayOptions : (NSDictionary *)data
208
+ sink : (id <FLTGoogleMapTileOverlayOptionsSink>)sink {
209
+ NSNumber *visible = data[@" visible" ];
210
+ if (visible != nil ) {
211
+ [sink setVisible: visible.boolValue];
212
+ }
213
+
214
+ NSNumber *transparency = data[@" transparency" ];
215
+ if (transparency != nil ) {
216
+ [sink setTransparency: transparency.floatValue];
217
+ }
218
+
219
+ NSNumber *zIndex = data[@" zIndex" ];
220
+ if (zIndex != nil ) {
221
+ [sink setZIndex: zIndex.intValue];
222
+ }
223
+
224
+ NSNumber *fadeIn = data[@" fadeIn" ];
225
+ if (fadeIn != nil ) {
226
+ [sink setFadeIn: fadeIn.boolValue];
227
+ }
228
+
229
+ NSNumber *tileSize = data[@" tileSize" ];
230
+ if (tileSize != nil ) {
231
+ [sink setTileSize: tileSize.integerValue];
232
+ }
233
+ }
234
+
234
235
@end
0 commit comments