react-native-maps 1.21.0-alpha.10 → 1.21.0-alpha.100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +77 -57
- package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/android/gradlew +1 -2
- package/android/src/main/java/com/rnmaps/fabric/CalloutManager.java +77 -0
- package/android/src/main/java/com/rnmaps/fabric/CircleManager.java +94 -0
- package/android/src/main/java/com/rnmaps/fabric/JSONUtil.java +86 -0
- package/android/src/main/java/com/rnmaps/fabric/MapViewManager.java +619 -0
- package/android/src/main/java/com/rnmaps/fabric/MarkerManager.java +258 -0
- package/android/src/main/java/com/rnmaps/fabric/NativeAirMapsModule.java +235 -2
- package/android/src/main/java/com/rnmaps/fabric/OverlayManager.java +95 -0
- package/android/src/main/java/com/rnmaps/fabric/PolygonManager.java +89 -0
- package/android/src/main/java/com/rnmaps/fabric/PolylineManager.java +121 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnCalloutPressEvent.java +25 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDeselectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDoublePressEvent.java +27 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDragEndEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDragEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDragStartEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorBuildingFocusedEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorLevelActivatedEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnKmlReadyEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnLongPressEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMapLoadedEvent.java +29 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMapReadyEvent.java +29 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDeselectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEndEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragStartEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerPressEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerSelectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnPanDragEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnPoiClickEvent.java +27 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnPressEvent.java +27 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeCompleteEvent.java +30 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeEvent.java +48 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeStartEvent.java +33 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnSelectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnUserLocationChangeEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/maps/MapAirModulePackage.java +39 -3
- package/android/src/main/java/com/rnmaps/maps/MapCallout.java +18 -0
- package/android/src/main/java/com/rnmaps/maps/MapCircle.java +24 -0
- package/android/src/main/java/com/rnmaps/maps/MapManager.java +14 -14
- package/android/src/main/java/com/rnmaps/maps/MapMarker.java +79 -3
- package/android/src/main/java/com/rnmaps/maps/MapModule.java +206 -206
- package/android/src/main/java/com/rnmaps/maps/MapOverlay.java +267 -151
- package/android/src/main/java/com/rnmaps/maps/MapPolygon.java +31 -1
- package/android/src/main/java/com/rnmaps/maps/MapPolyline.java +207 -141
- package/android/src/main/java/com/rnmaps/maps/MapPolylineManager.java +1 -16
- package/android/src/main/java/com/rnmaps/maps/MapView.java +1654 -1337
- package/ios/AirGoogleMaps/AIRGoogleMap.m +102 -58
- package/ios/AirGoogleMaps/AIRGoogleMapCircle.m +23 -11
- package/ios/AirGoogleMaps/AIRGoogleMapManager.m +3 -1
- package/ios/AirGoogleMaps/AIRGoogleMapMarker.h +2 -0
- package/ios/AirGoogleMaps/AIRGoogleMapMarker.m +347 -243
- package/ios/AirGoogleMaps/AIRGoogleMapPolygon.h +2 -1
- package/ios/AirGoogleMaps/AIRGoogleMapPolygon.m +30 -0
- package/ios/AirGoogleMaps/AIRGoogleMapPolyline.h +0 -1
- package/ios/AirGoogleMaps/AIRGoogleMapPolyline.m +0 -7
- package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.h +1 -1
- package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.m +2 -2
- package/ios/AirGoogleMaps/RCTConvert+GMSMapViewType.m +2 -0
- package/ios/AirGoogleMaps/RNMapsGoogleMapView.mm +143 -54
- package/ios/AirGoogleMaps/RNMapsGooglePolygonView.h +26 -0
- package/ios/AirGoogleMaps/RNMapsGooglePolygonView.mm +217 -0
- package/ios/AirGoogleMaps/RNMapsGooglePolygonViewManager.mm +25 -0
- package/ios/AirMaps/AIRMap.h +2 -1
- package/ios/AirMaps/AIRMap.m +227 -236
- package/ios/AirMaps/AIRMapManager.m +6 -0
- package/ios/AirMaps/AIRMapMarker.h +1 -0
- package/ios/AirMaps/AIRMapMarker.m +165 -103
- package/ios/AirMaps/Callout/SMCalloutView.m +1 -1
- package/ios/AirMaps/RNMapsAirModule.h +1 -1
- package/ios/AirMaps/RNMapsAirModule.mm +4 -3
- package/ios/AirMaps/RNMapsAirModuleDelegate.h +24 -0
- package/ios/AirMaps/RNMapsHostVewDelegate.h +17 -0
- package/ios/AirMaps/RNMapsMapView.mm +335 -303
- package/ios/AirMaps/RNMapsMarkerView.h +24 -0
- package/ios/AirMaps/RNMapsMarkerView.mm +430 -0
- package/ios/AirMaps/RNMapsMarkerViewManager.mm +21 -0
- package/ios/AirMaps/UIView +AirMap.m +20 -0
- package/ios/AirMaps/UIView+AirMap.h +11 -0
- package/ios/AirMaps.xcodeproj/project.pbxproj +60 -0
- package/lib/MapCircle.d.ts +1 -1
- package/lib/MapHeatmap.d.ts +2 -2
- package/lib/MapHeatmap.js +1 -1
- package/lib/MapMarker.d.ts +16 -3
- package/lib/MapMarker.js +55 -13
- package/lib/MapMarkerNativeComponent.js +0 -2
- package/lib/MapOverlay.d.ts +1 -0
- package/lib/MapOverlay.js +11 -9
- package/lib/MapPolygon.d.ts +1 -1
- package/lib/MapPolyline.d.ts +7 -7
- package/lib/MapView.d.ts +15 -27
- package/lib/MapView.js +109 -124
- package/lib/MapView.types.d.ts +1 -1
- package/lib/createFabricMap.d.ts +1 -0
- package/lib/createFabricMap.js +17 -4
- package/lib/decorateMapComponent.js +40 -0
- package/lib/fixImageProp.d.ts +4 -0
- package/lib/fixImageProp.js +16 -0
- package/lib/specs/NativeAirMapsModule.d.ts +2 -2
- package/lib/specs/NativeComponentCallout.d.ts +46 -0
- package/lib/specs/NativeComponentCallout.js +9 -0
- package/lib/specs/NativeComponentCircle.d.ts +74 -0
- package/lib/specs/NativeComponentCircle.js +7 -0
- package/lib/specs/NativeComponentGoogleMapView.d.ts +15 -15
- package/lib/specs/NativeComponentGoogleMapView.js +1 -0
- package/lib/specs/NativeComponentGooglePolygon.d.ts +75 -0
- package/lib/specs/NativeComponentGooglePolygon.js +7 -0
- package/lib/specs/NativeComponentMapView.d.ts +28 -36
- package/lib/specs/NativeComponentMapView.js +2 -3
- package/lib/specs/NativeComponentMarker.d.ts +258 -0
- package/lib/specs/NativeComponentMarker.js +19 -0
- package/lib/specs/NativeComponentOverlay.d.ts +67 -0
- package/lib/specs/NativeComponentOverlay.js +7 -0
- package/lib/specs/NativeComponentPolyline.d.ts +101 -0
- package/lib/specs/NativeComponentPolyline.js +7 -0
- package/package.json +24 -22
- package/react-native-maps.podspec +61 -16
- package/specs/NativeAirMapsModule.ts +36 -0
- package/specs/NativeComponentCallout.ts +63 -0
- package/specs/NativeComponentCircle.ts +94 -0
- package/specs/NativeComponentGoogleMapView.ts +916 -0
- package/specs/NativeComponentGooglePolygon.ts +94 -0
- package/specs/NativeComponentMapView.ts +1071 -0
- package/specs/NativeComponentMarker.ts +326 -0
- package/specs/NativeComponentOverlay.ts +89 -0
- package/specs/NativeComponentPolyline.ts +124 -0
|
@@ -69,6 +69,7 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
69
69
|
BOOL _didPrepareMap;
|
|
70
70
|
BOOL _didCallOnMapReady;
|
|
71
71
|
BOOL _zoomTapEnabled;
|
|
72
|
+
BOOL _isAnimating;
|
|
72
73
|
NSString* _googleMapId;
|
|
73
74
|
}
|
|
74
75
|
|
|
@@ -239,12 +240,17 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
239
240
|
// This is where we intercept them and do the appropriate underlying mapview action.
|
|
240
241
|
if ([subview isKindOfClass:[AIRGoogleMapMarker class]]) {
|
|
241
242
|
AIRGoogleMapMarker *marker = (AIRGoogleMapMarker*)subview;
|
|
242
|
-
marker
|
|
243
|
+
[marker didInsertInMap:self];
|
|
243
244
|
[self.markers addObject:marker];
|
|
244
245
|
} else if ([subview isKindOfClass:[AIRGoogleMapPolygon class]]) {
|
|
245
246
|
AIRGoogleMapPolygon *polygon = (AIRGoogleMapPolygon*)subview;
|
|
246
|
-
polygon
|
|
247
|
+
[polygon didInsertInMap:self];
|
|
247
248
|
[self.polygons addObject:polygon];
|
|
249
|
+
|
|
250
|
+
} else if ([NSStringFromClass([subview class]) isEqualToString:@"RNMapsGooglePolygonView"]){
|
|
251
|
+
// RNMapsGooglePolygonView *polygon = (RNMapsGooglePolygonView*)subview;
|
|
252
|
+
// [polygon didInsertInMap:self];
|
|
253
|
+
[self.polygons addObject:subview];
|
|
248
254
|
} else if ([subview isKindOfClass:[AIRGoogleMapPolyline class]]) {
|
|
249
255
|
AIRGoogleMapPolyline *polyline = (AIRGoogleMapPolyline*)subview;
|
|
250
256
|
polyline.polyline.map = self;
|
|
@@ -289,7 +295,9 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
289
295
|
AIRGoogleMapMarker *marker = (AIRGoogleMapMarker*)subview;
|
|
290
296
|
marker.realMarker.map = nil;
|
|
291
297
|
[self.markers removeObject:marker];
|
|
292
|
-
} else if ([subview
|
|
298
|
+
} else if ([NSStringFromClass([subview class]) isEqualToString:@"RNMapsGooglePolygonView"]) {
|
|
299
|
+
[self.polygons removeObject:subview];
|
|
300
|
+
} else if ([subview isKindOfClass:[AIRGoogleMapPolygon class]]) {
|
|
293
301
|
AIRGoogleMapPolygon *polygon = (AIRGoogleMapPolygon*)subview;
|
|
294
302
|
polygon.polygon.map = nil;
|
|
295
303
|
[self.polygons removeObject:polygon];
|
|
@@ -354,6 +362,19 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
354
362
|
];
|
|
355
363
|
}
|
|
356
364
|
|
|
365
|
+
- (NSDictionary *) getCameraDic {
|
|
366
|
+
GMSCameraPosition *camera = [self camera];
|
|
367
|
+
return @{
|
|
368
|
+
@"center": @{
|
|
369
|
+
@"latitude": @(camera.target.latitude),
|
|
370
|
+
@"longitude": @(camera.target.longitude),
|
|
371
|
+
},
|
|
372
|
+
@"pitch": @(camera.viewingAngle),
|
|
373
|
+
@"heading": @(camera.bearing),
|
|
374
|
+
@"zoom": @(camera.zoom),
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
|
|
357
378
|
- (void)layoutSubviews {
|
|
358
379
|
[super layoutSubviews];
|
|
359
380
|
if(_didLayoutSubviews) return;
|
|
@@ -390,7 +411,7 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
390
411
|
}
|
|
391
412
|
|
|
392
413
|
- (void)setRegion:(MKCoordinateRegion)region {
|
|
393
|
-
|
|
414
|
+
if (_isAnimating || !CLLocationCoordinate2DIsValid(region.center)) return;
|
|
394
415
|
_region = region;
|
|
395
416
|
if(_didLayoutSubviews) {
|
|
396
417
|
self.camera = [AIRGoogleMap makeGMSCameraPositionFromMap:self andMKCoordinateRegion:region];
|
|
@@ -410,6 +431,7 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
410
431
|
}
|
|
411
432
|
|
|
412
433
|
- (void)setCameraProp:(GMSCameraPosition*)camera {
|
|
434
|
+
if (_isAnimating || !CLLocationCoordinate2DIsValid([camera target])) return;
|
|
413
435
|
_initialCamera = camera;
|
|
414
436
|
if(_didLayoutSubviews) {
|
|
415
437
|
self.camera = camera;
|
|
@@ -491,6 +513,7 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
491
513
|
}
|
|
492
514
|
|
|
493
515
|
- (void)willMove:(BOOL)gesture {
|
|
516
|
+
_isAnimating = YES;
|
|
494
517
|
id event = @{@"isGesture": [NSNumber numberWithBool:gesture]};
|
|
495
518
|
if (self.onRegionChangeStart) self.onRegionChangeStart(event);
|
|
496
519
|
}
|
|
@@ -524,6 +547,7 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
524
547
|
@"isGesture": [NSNumber numberWithBool:isGesture],
|
|
525
548
|
};
|
|
526
549
|
if (self.onChange) self.onChange(event); // complete
|
|
550
|
+
_isAnimating = NO;
|
|
527
551
|
}
|
|
528
552
|
|
|
529
553
|
- (void)setMapPadding:(UIEdgeInsets)mapPadding {
|
|
@@ -772,8 +796,7 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
772
796
|
};
|
|
773
797
|
}
|
|
774
798
|
|
|
775
|
-
-(void) takeSnapshotWithConfig:(NSDictionary *)config
|
|
776
|
-
{
|
|
799
|
+
-(void) takeSnapshotWithConfig:(NSDictionary *)config success:(RCTPromiseResolveBlock)success error:(RCTPromiseRejectBlock)error {
|
|
777
800
|
/* unused
|
|
778
801
|
NSNumber *width = [config objectForKey:@"width"];
|
|
779
802
|
NSNumber *height = [config objectForKey:@"height"];
|
|
@@ -782,9 +805,10 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
782
805
|
|
|
783
806
|
NSString *format = [config objectForKey:@"format"];
|
|
784
807
|
NSString *result = [config objectForKey:@"result"];
|
|
785
|
-
|
|
808
|
+
NSTimeInterval timeStamp = [[NSDate date] timeIntervalSince1970];
|
|
809
|
+
NSString *pathComponent = [NSString stringWithFormat:@"Documents/snapshot-%.20lf.%@", timeStamp, format];
|
|
810
|
+
NSString *filePath = [NSHomeDirectory() stringByAppendingPathComponent: pathComponent];
|
|
786
811
|
|
|
787
|
-
|
|
788
812
|
// TODO: currently we are ignoring width, height, region
|
|
789
813
|
|
|
790
814
|
UIGraphicsBeginImageContextWithOptions(self.frame.size, YES, 0.0f);
|
|
@@ -798,14 +822,14 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
798
822
|
} else if([format isEqualToString:@"jpg"]) {
|
|
799
823
|
data = UIImageJPEGRepresentation(image, quality.floatValue);
|
|
800
824
|
}
|
|
801
|
-
|
|
825
|
+
|
|
802
826
|
if ([result isEqualToString:@"file"]) {
|
|
803
827
|
[data writeToFile:filePath atomically:YES];
|
|
804
|
-
|
|
828
|
+
success(filePath);
|
|
805
829
|
} else if ([result isEqualToString:@"base64"]) {
|
|
806
|
-
|
|
830
|
+
success([data base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithCarriageReturn]);
|
|
807
831
|
}
|
|
808
|
-
|
|
832
|
+
|
|
809
833
|
UIGraphicsEndImageContext();
|
|
810
834
|
}
|
|
811
835
|
|
|
@@ -1063,6 +1087,51 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
1063
1087
|
return _kmlSrc;
|
|
1064
1088
|
}
|
|
1065
1089
|
|
|
1090
|
+
- (void) setKMLData:(NSData *) urlData {
|
|
1091
|
+
GMUKMLParser *parser = [[GMUKMLParser alloc] initWithData:urlData];
|
|
1092
|
+
[parser parse];
|
|
1093
|
+
|
|
1094
|
+
NSUInteger index = 0;
|
|
1095
|
+
NSMutableArray *markers = [[NSMutableArray alloc]init];
|
|
1096
|
+
|
|
1097
|
+
for (GMUPlacemark *place in parser.placemarks) {
|
|
1098
|
+
|
|
1099
|
+
CLLocationCoordinate2D location =((GMUPoint *) place.geometry).coordinate;
|
|
1100
|
+
|
|
1101
|
+
AIRGoogleMapMarker *marker = (AIRGoogleMapMarker *)[[AIRGoogleMapMarkerManager alloc] view];
|
|
1102
|
+
if (!marker.bridge) {
|
|
1103
|
+
marker.bridge = _bridge;
|
|
1104
|
+
}
|
|
1105
|
+
marker.identifier = place.title;
|
|
1106
|
+
marker.coordinate = location;
|
|
1107
|
+
marker.title = place.title;
|
|
1108
|
+
marker.subtitle = place.snippet;
|
|
1109
|
+
marker.pinColor = place.style.fillColor;
|
|
1110
|
+
marker.imageSrc = [AIRGoogleMap GetIconUrl:place parser:parser];
|
|
1111
|
+
marker.layer.backgroundColor = [UIColor clearColor].CGColor;
|
|
1112
|
+
marker.layer.position = CGPointZero;
|
|
1113
|
+
|
|
1114
|
+
[self insertReactSubview:(UIView *) marker atIndex:index];
|
|
1115
|
+
|
|
1116
|
+
[markers addObject:@{@"id": marker.identifier,
|
|
1117
|
+
@"title": marker.title,
|
|
1118
|
+
@"description": marker.subtitle,
|
|
1119
|
+
@"coordinate": @{
|
|
1120
|
+
@"latitude": @(location.latitude),
|
|
1121
|
+
@"longitude": @(location.longitude)
|
|
1122
|
+
}
|
|
1123
|
+
}];
|
|
1124
|
+
|
|
1125
|
+
index++;
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1128
|
+
id event = @{@"markers": markers};
|
|
1129
|
+
if (self.onKmlReady) self.onKmlReady(event);
|
|
1130
|
+
#else
|
|
1131
|
+
REQUIRES_GOOGLE_MAPS_UTILS();
|
|
1132
|
+
#endif
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1066
1135
|
- (void)setKmlSrc:(NSString *)kmlUrl {
|
|
1067
1136
|
#ifdef HAVE_GOOGLE_MAPS_UTILS
|
|
1068
1137
|
|
|
@@ -1072,53 +1141,28 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
1072
1141
|
NSData *urlData = nil;
|
|
1073
1142
|
|
|
1074
1143
|
if ([url isFileURL]) {
|
|
1075
|
-
|
|
1144
|
+
[self setKMLData:[NSData dataWithContentsOfURL:url]];
|
|
1076
1145
|
} else {
|
|
1077
|
-
|
|
1146
|
+
__weak AIRGoogleMap *weakSelf = self;
|
|
1147
|
+
|
|
1148
|
+
NSURLSession *session = [NSURLSession sharedSession];
|
|
1149
|
+
NSURLSessionDataTask *dataTask = [session dataTaskWithURL:url
|
|
1150
|
+
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
|
|
1151
|
+
if (error) {
|
|
1152
|
+
NSLog(@"Error fetching data: %@", error.localizedDescription);
|
|
1153
|
+
return;
|
|
1154
|
+
} else {
|
|
1155
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
1156
|
+
AIRGoogleMap *strongSelf = weakSelf;
|
|
1157
|
+
[strongSelf setKMLData:data];
|
|
1158
|
+
});
|
|
1159
|
+
|
|
1160
|
+
}
|
|
1161
|
+
}];
|
|
1162
|
+
[dataTask resume];
|
|
1078
1163
|
}
|
|
1079
1164
|
|
|
1080
|
-
GMUKMLParser *parser = [[GMUKMLParser alloc] initWithData:urlData];
|
|
1081
|
-
[parser parse];
|
|
1082
|
-
|
|
1083
|
-
NSUInteger index = 0;
|
|
1084
|
-
NSMutableArray *markers = [[NSMutableArray alloc]init];
|
|
1085
|
-
|
|
1086
|
-
for (GMUPlacemark *place in parser.placemarks) {
|
|
1087
1165
|
|
|
1088
|
-
CLLocationCoordinate2D location =((GMUPoint *) place.geometry).coordinate;
|
|
1089
|
-
|
|
1090
|
-
AIRGoogleMapMarker *marker = (AIRGoogleMapMarker *)[[AIRGoogleMapMarkerManager alloc] view];
|
|
1091
|
-
if (!marker.bridge) {
|
|
1092
|
-
marker.bridge = _bridge;
|
|
1093
|
-
}
|
|
1094
|
-
marker.identifier = place.title;
|
|
1095
|
-
marker.coordinate = location;
|
|
1096
|
-
marker.title = place.title;
|
|
1097
|
-
marker.subtitle = place.snippet;
|
|
1098
|
-
marker.pinColor = place.style.fillColor;
|
|
1099
|
-
marker.imageSrc = [AIRGoogleMap GetIconUrl:place parser:parser];
|
|
1100
|
-
marker.layer.backgroundColor = [UIColor clearColor].CGColor;
|
|
1101
|
-
marker.layer.position = CGPointZero;
|
|
1102
|
-
|
|
1103
|
-
[self insertReactSubview:(UIView *) marker atIndex:index];
|
|
1104
|
-
|
|
1105
|
-
[markers addObject:@{@"id": marker.identifier,
|
|
1106
|
-
@"title": marker.title,
|
|
1107
|
-
@"description": marker.subtitle,
|
|
1108
|
-
@"coordinate": @{
|
|
1109
|
-
@"latitude": @(location.latitude),
|
|
1110
|
-
@"longitude": @(location.longitude)
|
|
1111
|
-
}
|
|
1112
|
-
}];
|
|
1113
|
-
|
|
1114
|
-
index++;
|
|
1115
|
-
}
|
|
1116
|
-
|
|
1117
|
-
id event = @{@"markers": markers};
|
|
1118
|
-
if (self.onKmlReady) self.onKmlReady(event);
|
|
1119
|
-
#else
|
|
1120
|
-
REQUIRES_GOOGLE_MAPS_UTILS();
|
|
1121
|
-
#endif
|
|
1122
1166
|
}
|
|
1123
1167
|
|
|
1124
1168
|
|
|
@@ -1128,7 +1172,7 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
1128
1172
|
return;
|
|
1129
1173
|
}
|
|
1130
1174
|
self.onIndoorBuildingFocused(@{
|
|
1131
|
-
@"
|
|
1175
|
+
@"indoorBuilding": @{
|
|
1132
1176
|
@"activeLevelIndex": @0,
|
|
1133
1177
|
@"underground": @false,
|
|
1134
1178
|
@"levels": [[NSMutableArray alloc]init]
|
|
@@ -1149,7 +1193,7 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
1149
1193
|
return;
|
|
1150
1194
|
}
|
|
1151
1195
|
self.onIndoorBuildingFocused(@{
|
|
1152
|
-
@"
|
|
1196
|
+
@"indoorBuilding": @{
|
|
1153
1197
|
@"activeLevelIndex": @(building.defaultLevelIndex),
|
|
1154
1198
|
@"underground": @(building.underground),
|
|
1155
1199
|
@"levels": arrayLevels
|
|
@@ -1169,7 +1213,7 @@ id regionAsJSON(MKCoordinateRegion region) {
|
|
|
1169
1213
|
i++;
|
|
1170
1214
|
}
|
|
1171
1215
|
self.onIndoorLevelActivated(@{
|
|
1172
|
-
@"
|
|
1216
|
+
@"indoorLevel": @{
|
|
1173
1217
|
@"activeLevelIndex": @(i),
|
|
1174
1218
|
@"name": level.name,
|
|
1175
1219
|
@"shortName": level.shortName
|
|
@@ -25,20 +25,32 @@
|
|
|
25
25
|
}
|
|
26
26
|
return self;
|
|
27
27
|
}
|
|
28
|
+
- (void) prepare
|
|
29
|
+
{
|
|
30
|
+
if(_didMoveToWindow) return;
|
|
31
|
+
_didMoveToWindow = true;
|
|
32
|
+
if(_fillColor) {
|
|
33
|
+
_circle.fillColor = _fillColor;
|
|
34
|
+
}
|
|
35
|
+
if(_strokeColor) {
|
|
36
|
+
_circle.strokeColor = _strokeColor;
|
|
37
|
+
}
|
|
38
|
+
if(_strokeWidth) {
|
|
39
|
+
_circle.strokeWidth = _strokeWidth;
|
|
40
|
+
}
|
|
41
|
+
if (_zIndex) {
|
|
42
|
+
_circle.zIndex = _zIndex;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
- (void) didMoveToSuperview
|
|
46
|
+
{
|
|
47
|
+
[super didMoveToSuperview];
|
|
48
|
+
[self prepare];
|
|
49
|
+
}
|
|
28
50
|
|
|
29
51
|
- (void)didMoveToWindow {
|
|
30
52
|
[super didMoveToWindow];
|
|
31
|
-
|
|
32
|
-
_didMoveToWindow = true;
|
|
33
|
-
if(_fillColor) {
|
|
34
|
-
_circle.fillColor = _fillColor;
|
|
35
|
-
}
|
|
36
|
-
if(_strokeColor) {
|
|
37
|
-
_circle.strokeColor = _strokeColor;
|
|
38
|
-
}
|
|
39
|
-
if(_strokeWidth) {
|
|
40
|
-
_circle.strokeWidth = _strokeWidth;
|
|
41
|
-
}
|
|
53
|
+
[self prepare];
|
|
42
54
|
}
|
|
43
55
|
|
|
44
56
|
- (void)setRadius:(double)radius
|
|
@@ -267,7 +267,9 @@ RCT_EXPORT_METHOD(takeSnapshot:(nonnull NSNumber *)reactTag
|
|
|
267
267
|
AIRGoogleMap *mapView = (AIRGoogleMap *)view;
|
|
268
268
|
NSMutableDictionary* config = [NSMutableDictionary new];
|
|
269
269
|
|
|
270
|
-
[mapView takeSnapshotWithConfig:config
|
|
270
|
+
[mapView takeSnapshotWithConfig:config success:callback error:^(NSString *code, NSString *message, NSError *error) {
|
|
271
|
+
callback(@[error]);
|
|
272
|
+
}];
|
|
271
273
|
|
|
272
274
|
[config setObject:width forKey:@"width"];
|
|
273
275
|
[config setObject:height forKey:@"height"];
|