react-native-maps 1.21.0-alpha.13 → 1.21.0-alpha.130

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.
Files changed (243) hide show
  1. package/android/build.gradle +73 -53
  2. package/android/gradlew +1 -2
  3. package/android/src/main/RCTAppDependencyProvider.h +25 -0
  4. package/android/src/main/RCTAppDependencyProvider.mm +55 -0
  5. package/android/src/main/RCTModulesConformingToProtocolsProvider.h +18 -0
  6. package/android/src/main/RCTModulesConformingToProtocolsProvider.mm +33 -0
  7. package/android/src/main/RCTThirdPartyComponentsProvider.h +16 -0
  8. package/android/src/main/RCTThirdPartyComponentsProvider.mm +28 -0
  9. package/android/src/main/ReactAppDependencyProvider.podspec +34 -0
  10. package/android/src/main/java/com/facebook/fbreact/specs/NativeAirMapsModuleSpec.java +63 -0
  11. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerDelegate.java +35 -0
  12. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerInterface.java +17 -0
  13. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCircleManagerDelegate.java +49 -0
  14. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCircleManagerInterface.java +23 -0
  15. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerDelegate.java +49 -0
  16. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerInterface.java +23 -0
  17. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerDelegate.java +206 -0
  18. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerInterface.java +73 -0
  19. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerDelegate.java +104 -0
  20. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerInterface.java +39 -0
  21. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerDelegate.java +46 -0
  22. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerInterface.java +23 -0
  23. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerDelegate.java +58 -0
  24. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerInterface.java +26 -0
  25. package/android/src/main/java/com/rnmaps/fabric/CalloutManager.java +77 -0
  26. package/android/src/main/java/com/rnmaps/fabric/CircleManager.java +94 -0
  27. package/android/src/main/java/com/rnmaps/fabric/JSONUtil.java +86 -0
  28. package/android/src/main/java/com/rnmaps/fabric/MapViewManager.java +619 -0
  29. package/android/src/main/java/com/rnmaps/fabric/MarkerManager.java +258 -0
  30. package/android/src/main/java/com/rnmaps/fabric/NativeAirMapsModule.java +235 -2
  31. package/android/src/main/java/com/rnmaps/fabric/OverlayManager.java +95 -0
  32. package/android/src/main/java/com/rnmaps/fabric/PolygonManager.java +89 -0
  33. package/android/src/main/java/com/rnmaps/fabric/PolylineManager.java +121 -0
  34. package/android/src/main/java/com/rnmaps/fabric/event/OnCalloutPressEvent.java +25 -0
  35. package/android/src/main/java/com/rnmaps/fabric/event/OnDeselectEvent.java +28 -0
  36. package/android/src/main/java/com/rnmaps/fabric/event/OnDoublePressEvent.java +27 -0
  37. package/android/src/main/java/com/rnmaps/fabric/event/OnDragEndEvent.java +28 -0
  38. package/android/src/main/java/com/rnmaps/fabric/event/OnDragEvent.java +28 -0
  39. package/android/src/main/java/com/rnmaps/fabric/event/OnDragStartEvent.java +28 -0
  40. package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorBuildingFocusedEvent.java +28 -0
  41. package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorLevelActivatedEvent.java +28 -0
  42. package/android/src/main/java/com/rnmaps/fabric/event/OnKmlReadyEvent.java +28 -0
  43. package/android/src/main/java/com/rnmaps/fabric/event/OnLongPressEvent.java +28 -0
  44. package/android/src/main/java/com/rnmaps/fabric/event/OnMapLoadedEvent.java +29 -0
  45. package/android/src/main/java/com/rnmaps/fabric/event/OnMapReadyEvent.java +29 -0
  46. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDeselectEvent.java +28 -0
  47. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEndEvent.java +28 -0
  48. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEvent.java +28 -0
  49. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragStartEvent.java +28 -0
  50. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerPressEvent.java +28 -0
  51. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerSelectEvent.java +28 -0
  52. package/android/src/main/java/com/rnmaps/fabric/event/OnPanDragEvent.java +28 -0
  53. package/android/src/main/java/com/rnmaps/fabric/event/OnPoiClickEvent.java +27 -0
  54. package/android/src/main/java/com/rnmaps/fabric/event/OnPressEvent.java +27 -0
  55. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeCompleteEvent.java +30 -0
  56. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeEvent.java +48 -0
  57. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeStartEvent.java +33 -0
  58. package/android/src/main/java/com/rnmaps/fabric/event/OnSelectEvent.java +28 -0
  59. package/android/src/main/java/com/rnmaps/fabric/event/OnUserLocationChangeEvent.java +28 -0
  60. package/android/src/main/java/com/rnmaps/maps/MapAirModulePackage.java +40 -4
  61. package/android/src/main/java/com/rnmaps/maps/MapCallout.java +18 -0
  62. package/android/src/main/java/com/rnmaps/maps/MapCircle.java +24 -0
  63. package/android/src/main/java/com/rnmaps/maps/MapManager.java +14 -14
  64. package/android/src/main/java/com/rnmaps/maps/MapMarker.java +637 -556
  65. package/android/src/main/java/com/rnmaps/maps/MapMarkerManager.java +3 -3
  66. package/android/src/main/java/com/rnmaps/maps/MapModule.java +206 -206
  67. package/android/src/main/java/com/rnmaps/maps/MapOverlay.java +267 -151
  68. package/android/src/main/java/com/rnmaps/maps/MapPolygon.java +31 -1
  69. package/android/src/main/java/com/rnmaps/maps/MapPolyline.java +207 -141
  70. package/android/src/main/java/com/rnmaps/maps/MapPolylineManager.java +1 -16
  71. package/android/src/main/java/com/rnmaps/maps/MapView.java +1650 -1337
  72. package/android/src/main/jni/CMakeLists.txt +36 -0
  73. package/android/src/main/jni/RNMapsSpecs-generated.cpp +68 -0
  74. package/android/src/main/jni/RNMapsSpecs.h +31 -0
  75. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.cpp +29 -0
  76. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.h +31 -0
  77. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/EventEmitters.cpp +977 -0
  78. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/EventEmitters.h +846 -0
  79. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/Props.cpp +193 -0
  80. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/Props.h +1223 -0
  81. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI-generated.cpp +74 -0
  82. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI.h +268 -0
  83. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.cpp +24 -0
  84. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.h +109 -0
  85. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/States.cpp +16 -0
  86. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/States.h +113 -0
  87. package/ios/AirGoogleMaps/AIRGoogleMap.h +10 -11
  88. package/ios/AirGoogleMaps/AIRGoogleMap.m +103 -69
  89. package/ios/AirGoogleMaps/AIRGoogleMapCircle.m +23 -11
  90. package/ios/AirGoogleMaps/AIRGoogleMapManager.m +10 -9
  91. package/ios/AirGoogleMaps/AIRGoogleMapMarker.m +6 -3
  92. package/ios/AirGoogleMaps/AIRGoogleMapMarkerManager.m +1 -1
  93. package/ios/AirGoogleMaps/AIRGoogleMapPolygon.m +3 -0
  94. package/ios/AirGoogleMaps/AIRGoogleMapPolyline.h +0 -1
  95. package/ios/AirGoogleMaps/AIRGoogleMapPolyline.m +0 -7
  96. package/ios/AirGoogleMaps/AIRGoogleMapUrlTile.m +2 -2
  97. package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.h +1 -1
  98. package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.m +4 -4
  99. package/ios/AirGoogleMaps/RNMapsGoogleMapView.h +1 -1
  100. package/ios/AirGoogleMaps/RNMapsGoogleMapView.mm +112 -43
  101. package/ios/AirGoogleMaps/RNMapsGoogleMapViewManager.mm +16 -1
  102. package/ios/AirGoogleMaps/RNMapsGooglePolygonView.h +26 -0
  103. package/ios/AirGoogleMaps/RNMapsGooglePolygonView.mm +217 -0
  104. package/ios/AirGoogleMaps/RNMapsGooglePolygonViewManager.mm +26 -0
  105. package/ios/AirMaps/AIRMap.h +8 -9
  106. package/ios/AirMaps/AIRMap.m +222 -239
  107. package/ios/AirMaps/AIRMapManager.m +10 -7
  108. package/ios/AirMaps/AIRMapMarker.h +1 -0
  109. package/ios/AirMaps/AIRMapMarker.m +165 -103
  110. package/ios/AirMaps/Callout/SMCalloutView.m +1 -1
  111. package/ios/AirMaps/FabricPlaceholders/PlaceHolderGoogleMapView.h +28 -0
  112. package/ios/AirMaps/FabricPlaceholders/PlaceHolderGoogleMapView.mm +68 -0
  113. package/ios/AirMaps/FabricPlaceholders/PlaceHolderPolygonView.h +25 -0
  114. package/ios/AirMaps/FabricPlaceholders/PlaceHolderPolygonView.mm +43 -0
  115. package/ios/AirMaps/RNMapsAirModule.h +1 -1
  116. package/ios/AirMaps/RNMapsAirModule.mm +4 -3
  117. package/ios/AirMaps/RNMapsDefines.h +0 -0
  118. package/ios/AirMaps/RNMapsMapView.h +1 -1
  119. package/ios/AirMaps/RNMapsMapView.mm +119 -95
  120. package/ios/AirMaps/RNMapsMapViewManager.mm +19 -1
  121. package/ios/AirMaps/RNMapsMarkerView.h +24 -0
  122. package/ios/AirMaps/RNMapsMarkerView.mm +430 -0
  123. package/ios/AirMaps/RNMapsMarkerViewManager.mm +28 -0
  124. package/ios/AirMaps.xcodeproj/project.pbxproj +20 -0
  125. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  126. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  127. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  128. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  129. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  130. package/ios/generated/RCTThirdPartyComponentsProvider.mm +26 -0
  131. package/ios/{AirMaps → generated}/RNMapsAirModuleDelegate.h +2 -2
  132. package/ios/generated/RNMapsSpecs/ComponentDescriptors.cpp +29 -0
  133. package/ios/generated/RNMapsSpecs/ComponentDescriptors.h +31 -0
  134. package/ios/generated/RNMapsSpecs/EventEmitters.cpp +977 -0
  135. package/ios/generated/RNMapsSpecs/EventEmitters.h +846 -0
  136. package/ios/generated/RNMapsSpecs/Props.cpp +193 -0
  137. package/ios/generated/RNMapsSpecs/Props.h +1223 -0
  138. package/ios/generated/RNMapsSpecs/RCTComponentViewHelpers.h +591 -0
  139. package/ios/generated/RNMapsSpecs/RNMapsSpecs-generated.mm +92 -0
  140. package/ios/generated/RNMapsSpecs/RNMapsSpecs.h +137 -0
  141. package/ios/generated/RNMapsSpecs/ShadowNodes.cpp +24 -0
  142. package/ios/generated/RNMapsSpecs/ShadowNodes.h +109 -0
  143. package/ios/generated/RNMapsSpecs/States.cpp +16 -0
  144. package/ios/generated/RNMapsSpecs/States.h +113 -0
  145. package/ios/generated/RNMapsSpecsJSI-generated.cpp +74 -0
  146. package/ios/generated/RNMapsSpecsJSI.h +268 -0
  147. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  148. package/package.json +25 -18
  149. package/react-native-google-maps.podspec +26 -0
  150. package/react-native-maps-generated.podspec +31 -0
  151. package/react-native-maps.podspec +53 -15
  152. package/react-native.config.js +16 -0
  153. package/src/AnimatedRegion.ts +169 -0
  154. package/src/Geojson.tsx +541 -0
  155. package/src/MapCallout.tsx +77 -0
  156. package/src/MapCalloutSubview.tsx +64 -0
  157. package/src/MapCircle.tsx +162 -0
  158. package/src/MapHeatmap.tsx +125 -0
  159. package/src/MapLocalTile.tsx +60 -0
  160. package/src/MapMarker.tsx +531 -0
  161. package/src/MapMarkerNativeComponent.ts +51 -0
  162. package/src/MapOverlay.tsx +156 -0
  163. package/src/MapPolygon.tsx +188 -0
  164. package/src/MapPolygon.types.ts +25 -0
  165. package/src/MapPolyline.tsx +215 -0
  166. package/src/MapUrlTile.tsx +169 -0
  167. package/src/MapView.tsx +1223 -0
  168. package/src/MapView.types.ts +212 -0
  169. package/src/MapView.web.ts +2 -0
  170. package/src/MapViewNativeComponent.ts +86 -0
  171. package/src/MapWMSTile.tsx +148 -0
  172. package/src/ProviderConstants.ts +2 -0
  173. package/src/createFabricMap.tsx +253 -0
  174. package/src/decorateMapComponent.ts +219 -0
  175. package/src/fixImageProp.ts +17 -0
  176. package/src/index.ts +52 -0
  177. package/src/sharedTypes.ts +101 -0
  178. package/src/specs/NativeAirMapsModule.ts +36 -0
  179. package/src/specs/NativeComponentCallout.ts +63 -0
  180. package/src/specs/NativeComponentCircle.ts +93 -0
  181. package/src/specs/NativeComponentGoogleMapView.ts +913 -0
  182. package/src/specs/NativeComponentGooglePolygon.ts +94 -0
  183. package/src/specs/NativeComponentMapView.ts +1091 -0
  184. package/src/specs/NativeComponentMarker.ts +326 -0
  185. package/src/specs/NativeComponentOverlay.ts +89 -0
  186. package/src/specs/NativeComponentPolyline.ts +124 -0
  187. package/lib/AnimatedRegion.d.ts +0 -19
  188. package/lib/AnimatedRegion.js +0 -134
  189. package/lib/Geojson.d.ts +0 -204
  190. package/lib/Geojson.js +0 -166
  191. package/lib/MapCallout.d.ts +0 -40
  192. package/lib/MapCallout.js +0 -51
  193. package/lib/MapCalloutSubview.d.ts +0 -34
  194. package/lib/MapCalloutSubview.js +0 -48
  195. package/lib/MapCircle.d.ts +0 -117
  196. package/lib/MapCircle.js +0 -53
  197. package/lib/MapHeatmap.d.ts +0 -78
  198. package/lib/MapHeatmap.js +0 -59
  199. package/lib/MapLocalTile.d.ts +0 -35
  200. package/lib/MapLocalTile.js +0 -44
  201. package/lib/MapMarker.d.ts +0 -309
  202. package/lib/MapMarker.js +0 -116
  203. package/lib/MapMarkerNativeComponent.d.ts +0 -15
  204. package/lib/MapMarkerNativeComponent.js +0 -17
  205. package/lib/MapOverlay.d.ts +0 -87
  206. package/lib/MapOverlay.js +0 -63
  207. package/lib/MapPolygon.d.ts +0 -140
  208. package/lib/MapPolygon.js +0 -53
  209. package/lib/MapPolygon.types.d.ts +0 -18
  210. package/lib/MapPolygon.types.js +0 -2
  211. package/lib/MapPolyline.d.ts +0 -156
  212. package/lib/MapPolyline.js +0 -53
  213. package/lib/MapUrlTile.d.ts +0 -134
  214. package/lib/MapUrlTile.js +0 -44
  215. package/lib/MapView.d.ts +0 -715
  216. package/lib/MapView.js +0 -447
  217. package/lib/MapView.types.d.ts +0 -161
  218. package/lib/MapView.types.js +0 -2
  219. package/lib/MapView.web.d.ts +0 -1
  220. package/lib/MapView.web.js +0 -9
  221. package/lib/MapViewNativeComponent.d.ts +0 -18
  222. package/lib/MapViewNativeComponent.js +0 -19
  223. package/lib/MapWMSTile.d.ts +0 -116
  224. package/lib/MapWMSTile.js +0 -44
  225. package/lib/ProviderConstants.d.ts +0 -2
  226. package/lib/ProviderConstants.js +0 -5
  227. package/lib/createFabricMap.d.ts +0 -23
  228. package/lib/createFabricMap.js +0 -175
  229. package/lib/decorateMapComponent.d.ts +0 -36
  230. package/lib/decorateMapComponent.js +0 -80
  231. package/lib/index.d.ts +0 -38
  232. package/lib/index.js +0 -81
  233. package/lib/sharedTypes.d.ts +0 -81
  234. package/lib/sharedTypes.js +0 -2
  235. package/lib/sharedTypesInternal.js +0 -2
  236. package/lib/specs/NativeAirMapsModule.d.ts +0 -31
  237. package/lib/specs/NativeAirMapsModule.js +0 -4
  238. package/lib/specs/NativeComponentGoogleMapView.d.ts +0 -713
  239. package/lib/specs/NativeComponentGoogleMapView.js +0 -21
  240. package/lib/specs/NativeComponentMapView.d.ts +0 -855
  241. package/lib/specs/NativeComponentMapView.js +0 -21
  242. /package/ios/{AirMaps → generated}/RNMapsHostVewDelegate.h +0 -0
  243. /package/{lib/sharedTypesInternal.d.ts → src/sharedTypesInternal.ts} +0 -0
@@ -246,6 +246,11 @@ id regionAsJSON(MKCoordinateRegion region) {
246
246
  AIRGoogleMapPolygon *polygon = (AIRGoogleMapPolygon*)subview;
247
247
  [polygon didInsertInMap:self];
248
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];
249
254
  } else if ([subview isKindOfClass:[AIRGoogleMapPolyline class]]) {
250
255
  AIRGoogleMapPolyline *polyline = (AIRGoogleMapPolyline*)subview;
251
256
  polyline.polyline.map = self;
@@ -290,7 +295,9 @@ id regionAsJSON(MKCoordinateRegion region) {
290
295
  AIRGoogleMapMarker *marker = (AIRGoogleMapMarker*)subview;
291
296
  marker.realMarker.map = nil;
292
297
  [self.markers removeObject:marker];
293
- } else if ([subview isKindOfClass:[AIRGoogleMapPolygon class]]) {
298
+ } else if ([NSStringFromClass([subview class]) isEqualToString:@"RNMapsGooglePolygonView"]) {
299
+ [self.polygons removeObject:subview];
300
+ } else if ([subview isKindOfClass:[AIRGoogleMapPolygon class]]) {
294
301
  AIRGoogleMapPolygon *polygon = (AIRGoogleMapPolygon*)subview;
295
302
  polygon.polygon.map = nil;
296
303
  [self.polygons removeObject:polygon];
@@ -355,6 +362,19 @@ id regionAsJSON(MKCoordinateRegion region) {
355
362
  ];
356
363
  }
357
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
+
358
378
  - (void)layoutSubviews {
359
379
  [super layoutSubviews];
360
380
  if(_didLayoutSubviews) return;
@@ -504,7 +524,7 @@ id regionAsJSON(MKCoordinateRegion region) {
504
524
  @"isGesture": [NSNumber numberWithBool:isGesture],
505
525
  };
506
526
 
507
- if (self.onChange) self.onChange(event);
527
+ if (self.onRegionChange) self.onRegionChange(event);
508
528
  }
509
529
 
510
530
  - (void)didTapPOIWithPlaceID:(NSString *)placeID
@@ -526,7 +546,7 @@ id regionAsJSON(MKCoordinateRegion region) {
526
546
  @"region": regionAsJSON([AIRGoogleMap makeGMSCameraPositionFromMap:self andGMSCameraPosition:position]),
527
547
  @"isGesture": [NSNumber numberWithBool:isGesture],
528
548
  };
529
- if (self.onChange) self.onChange(event); // complete
549
+ if (self.onRegionChangeComplete) self.onRegionChangeComplete(event); // complete
530
550
  _isAnimating = NO;
531
551
  }
532
552
 
@@ -776,8 +796,7 @@ id regionAsJSON(MKCoordinateRegion region) {
776
796
  };
777
797
  }
778
798
 
779
- -(void) takeSnapshotWithConfig:(NSDictionary *)config callback:(RCTPromiseResolveBlock) callback
780
- {
799
+ -(void) takeSnapshotWithConfig:(NSDictionary *)config success:(RCTPromiseResolveBlock)success error:(RCTPromiseRejectBlock)error {
781
800
  /* unused
782
801
  NSNumber *width = [config objectForKey:@"width"];
783
802
  NSNumber *height = [config objectForKey:@"height"];
@@ -786,8 +805,9 @@ id regionAsJSON(MKCoordinateRegion region) {
786
805
 
787
806
  NSString *format = [config objectForKey:@"format"];
788
807
  NSString *result = [config objectForKey:@"result"];
789
- NSString *filePath = [config objectForKey:@"filePath"];
790
-
808
+ NSTimeInterval timeStamp = [[NSDate date] timeIntervalSince1970];
809
+ NSString *pathComponent = [NSString stringWithFormat:@"Documents/snapshot-%.20lf.%@", timeStamp, format];
810
+ NSString *filePath = [NSHomeDirectory() stringByAppendingPathComponent: pathComponent];
791
811
 
792
812
  // TODO: currently we are ignoring width, height, region
793
813
 
@@ -805,9 +825,9 @@ id regionAsJSON(MKCoordinateRegion region) {
805
825
 
806
826
  if ([result isEqualToString:@"file"]) {
807
827
  [data writeToFile:filePath atomically:YES];
808
- callback(filePath);
828
+ success(filePath);
809
829
  } else if ([result isEqualToString:@"base64"]) {
810
- callback([data base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithCarriageReturn]);
830
+ success([data base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithCarriageReturn]);
811
831
  }
812
832
 
813
833
  UIGraphicsEndImageContext();
@@ -1048,7 +1068,7 @@ id regionAsJSON(MKCoordinateRegion region) {
1048
1068
  }
1049
1069
 
1050
1070
  + (NSString *)GetIconUrl:(GMUPlacemark *) marker parser:(GMUKMLParser *) parser {
1051
- #ifdef HAVE_GOOGLE_MAPS_UTILS
1071
+ #if HAVE_GOOGLE_MAPS_UTILS
1052
1072
  if (marker.style.styleID != nil) {
1053
1073
  for (GMUStyle *style in parser.styles) {
1054
1074
  if (style.styleID == marker.style.styleID) {
@@ -1067,8 +1087,53 @@ id regionAsJSON(MKCoordinateRegion region) {
1067
1087
  return _kmlSrc;
1068
1088
  }
1069
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
+
1070
1135
  - (void)setKmlSrc:(NSString *)kmlUrl {
1071
- #ifdef HAVE_GOOGLE_MAPS_UTILS
1136
+ #if HAVE_GOOGLE_MAPS_UTILS
1072
1137
 
1073
1138
  _kmlSrc = kmlUrl;
1074
1139
 
@@ -1076,53 +1141,28 @@ id regionAsJSON(MKCoordinateRegion region) {
1076
1141
  NSData *urlData = nil;
1077
1142
 
1078
1143
  if ([url isFileURL]) {
1079
- urlData = [NSData dataWithContentsOfURL:url];
1144
+ [self setKMLData:[NSData dataWithContentsOfURL:url]];
1080
1145
  } else {
1081
- urlData = [[NSFileManager defaultManager] contentsAtPath:kmlUrl];
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];
1082
1163
  }
1083
1164
 
1084
- GMUKMLParser *parser = [[GMUKMLParser alloc] initWithData:urlData];
1085
- [parser parse];
1086
1165
 
1087
- NSUInteger index = 0;
1088
- NSMutableArray *markers = [[NSMutableArray alloc]init];
1089
-
1090
- for (GMUPlacemark *place in parser.placemarks) {
1091
-
1092
- CLLocationCoordinate2D location =((GMUPoint *) place.geometry).coordinate;
1093
-
1094
- AIRGoogleMapMarker *marker = (AIRGoogleMapMarker *)[[AIRGoogleMapMarkerManager alloc] view];
1095
- if (!marker.bridge) {
1096
- marker.bridge = _bridge;
1097
- }
1098
- marker.identifier = place.title;
1099
- marker.coordinate = location;
1100
- marker.title = place.title;
1101
- marker.subtitle = place.snippet;
1102
- marker.pinColor = place.style.fillColor;
1103
- marker.imageSrc = [AIRGoogleMap GetIconUrl:place parser:parser];
1104
- marker.layer.backgroundColor = [UIColor clearColor].CGColor;
1105
- marker.layer.position = CGPointZero;
1106
-
1107
- [self insertReactSubview:(UIView *) marker atIndex:index];
1108
-
1109
- [markers addObject:@{@"id": marker.identifier,
1110
- @"title": marker.title,
1111
- @"description": marker.subtitle,
1112
- @"coordinate": @{
1113
- @"latitude": @(location.latitude),
1114
- @"longitude": @(location.longitude)
1115
- }
1116
- }];
1117
-
1118
- index++;
1119
- }
1120
-
1121
- id event = @{@"markers": markers};
1122
- if (self.onKmlReady) self.onKmlReady(event);
1123
- #else
1124
- REQUIRES_GOOGLE_MAPS_UTILS();
1125
- #endif
1126
1166
  }
1127
1167
 
1128
1168
 
@@ -1132,11 +1172,9 @@ id regionAsJSON(MKCoordinateRegion region) {
1132
1172
  return;
1133
1173
  }
1134
1174
  self.onIndoorBuildingFocused(@{
1135
- @"IndoorBuilding": @{
1136
- @"activeLevelIndex": @0,
1137
- @"underground": @false,
1138
- @"levels": [[NSMutableArray alloc]init]
1139
- }
1175
+ @"activeLevelIndex": @0,
1176
+ @"underground": @false,
1177
+ @"levels": [[NSMutableArray alloc]init]
1140
1178
  });
1141
1179
  }
1142
1180
  NSInteger i = 0;
@@ -1153,11 +1191,9 @@ id regionAsJSON(MKCoordinateRegion region) {
1153
1191
  return;
1154
1192
  }
1155
1193
  self.onIndoorBuildingFocused(@{
1156
- @"IndoorBuilding": @{
1157
- @"activeLevelIndex": @(building.defaultLevelIndex),
1158
- @"underground": @(building.underground),
1159
- @"levels": arrayLevels
1160
- }
1194
+ @"activeLevelIndex": @(building.defaultLevelIndex),
1195
+ @"underground": @(building.underground),
1196
+ @"levels": arrayLevels
1161
1197
  });
1162
1198
  }
1163
1199
 
@@ -1173,11 +1209,9 @@ id regionAsJSON(MKCoordinateRegion region) {
1173
1209
  i++;
1174
1210
  }
1175
1211
  self.onIndoorLevelActivated(@{
1176
- @"IndoorLevel": @{
1177
- @"activeLevelIndex": @(i),
1178
- @"name": level.name,
1179
- @"shortName": level.shortName
1180
- }
1212
+ @"activeLevelIndex": @(i),
1213
+ @"name": level.name,
1214
+ @"shortName": level.shortName
1181
1215
  });
1182
1216
  }
1183
1217
  // do nothing, passed as options on initialization
@@ -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
- if(_didMoveToWindow) return;
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
@@ -97,14 +97,13 @@ RCT_EXPORT_VIEW_PROPERTY(showsIndoorLevelPicker, BOOL)
97
97
  RCT_EXPORT_VIEW_PROPERTY(customMapStyleString, NSString)
98
98
  RCT_EXPORT_VIEW_PROPERTY(mapPadding, UIEdgeInsets)
99
99
  RCT_REMAP_VIEW_PROPERTY(paddingAdjustmentBehavior, paddingAdjustmentBehaviorString, NSString)
100
- RCT_EXPORT_VIEW_PROPERTY(onMapReady, RCTBubblingEventBlock)
101
- RCT_EXPORT_VIEW_PROPERTY(onMapLoaded, RCTBubblingEventBlock)
102
- RCT_EXPORT_VIEW_PROPERTY(onKmlReady, RCTBubblingEventBlock)
100
+ RCT_EXPORT_VIEW_PROPERTY(onMapReady, RCTDirectEventBlock)
101
+ RCT_EXPORT_VIEW_PROPERTY(onMapLoaded, RCTDirectEventBlock)
102
+ RCT_EXPORT_VIEW_PROPERTY(onKmlReady, RCTDirectEventBlock)
103
103
  RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
104
104
  RCT_EXPORT_VIEW_PROPERTY(onLongPress, RCTBubblingEventBlock)
105
- RCT_EXPORT_VIEW_PROPERTY(onPanDrag, RCTBubblingEventBlock)
106
- RCT_EXPORT_VIEW_PROPERTY(onUserLocationChange, RCTBubblingEventBlock)
107
- RCT_EXPORT_VIEW_PROPERTY(onChange, RCTBubblingEventBlock)
105
+ RCT_EXPORT_VIEW_PROPERTY(onPanDrag, RCTDirectEventBlock)
106
+ RCT_EXPORT_VIEW_PROPERTY(onUserLocationChange, RCTDirectEventBlock)
108
107
  RCT_EXPORT_VIEW_PROPERTY(onMarkerPress, RCTDirectEventBlock)
109
108
  RCT_EXPORT_VIEW_PROPERTY(onMarkerSelect, RCTDirectEventBlock)
110
109
  RCT_EXPORT_VIEW_PROPERTY(onMarkerDeselect, RCTDirectEventBlock)
@@ -266,9 +265,11 @@ RCT_EXPORT_METHOD(takeSnapshot:(nonnull NSNumber *)reactTag
266
265
  } else {
267
266
  AIRGoogleMap *mapView = (AIRGoogleMap *)view;
268
267
  NSMutableDictionary* config = [NSMutableDictionary new];
269
-
270
- [mapView takeSnapshotWithConfig:config callback:callback];
271
-
268
+
269
+ [mapView takeSnapshotWithConfig:config success:callback error:^(NSString *code, NSString *message, NSError *error) {
270
+ callback(@[error]);
271
+ }];
272
+
272
273
  [config setObject:width forKey:@"width"];
273
274
  [config setObject:height forKey:@"height"];
274
275
  [config setObject:format forKey:@"format"];
@@ -29,8 +29,8 @@ CGRect unionRect(CGRect a, CGRect b) {
29
29
  @implementation AIRGoogleMapMarker {
30
30
  RCTImageLoaderCancellationBlock _reloadImageCancellationBlock;
31
31
  RCTBubblingEventBlock _onPress;
32
- RCTBubblingEventBlock _onSelect;
33
- RCTBubblingEventBlock _onDeselect;
32
+ RCTDirectEventBlock _onSelect;
33
+ RCTDirectEventBlock _onDeselect;
34
34
  __weak UIImageView *_iconImageView;
35
35
  UIView *_iconView;
36
36
  UIColor *_pinColor;
@@ -140,6 +140,9 @@ CGRect unionRect(CGRect a, CGRect b) {
140
140
  if (_onPress){
141
141
  [_realMarker setOnPress:_onPress];
142
142
  }
143
+ if (_zIndex){
144
+ [_realMarker setZIndex:_zIndex];
145
+ }
143
146
  [_realMarker setMap:map];
144
147
  }
145
148
 
@@ -373,7 +376,7 @@ CGRect unionRect(CGRect a, CGRect b) {
373
376
  // TODO(lmr): do something with the error?
374
377
  NSLog(@"%@", error);
375
378
  }
376
-
379
+
377
380
  dispatch_async(dispatch_get_main_queue(), ^{
378
381
  __strong AIRGoogleMapMarker* strongSelf = weakSelf;
379
382
 
@@ -86,7 +86,7 @@ RCT_EXPORT_METHOD(redrawCallout:(nonnull NSNumber *)reactTag)
86
86
  RCTLogError(@"Invalid view returned from registry, expecting AIRMap, got: %@", view);
87
87
  } else {
88
88
  AIRGoogleMapMarker* marker = (AIRGoogleMapMarker *) view;
89
-
89
+
90
90
  [NSTimer scheduledTimerWithTimeInterval:0.0
91
91
  target:[NSBlockOperation blockOperationWithBlock:^{
92
92
  [marker hideCalloutView];
@@ -66,6 +66,9 @@
66
66
  if (_holes){
67
67
  [self setHoles:_holes];
68
68
  }
69
+ if (_zIndex){
70
+ _polygon.zIndex = _zIndex;
71
+ }
69
72
  [_polygon setMap:map];
70
73
  }
71
74
 
@@ -25,7 +25,6 @@
25
25
  @property (nonatomic, strong) UIColor *strokeColor;
26
26
  @property (nonatomic, strong) NSArray<UIColor *> *strokeColors;
27
27
  @property (nonatomic, assign) double strokeWidth;
28
- @property (nonatomic, assign) UIColor *fillColor;
29
28
  @property (nonatomic, strong) NSArray<NSNumber *> *lineDashPattern;
30
29
  @property (nonatomic, assign) BOOL geodesic;
31
30
  @property (nonatomic, assign) NSString *title;
@@ -19,7 +19,6 @@
19
19
  {
20
20
  if (self = [super init]) {
21
21
  _polyline = [[AIRGMSPolyline alloc] init];
22
- _polyline.spans = @[[GMSStyleSpan spanWithColor:_strokeColor]];
23
22
  _polyline.strokeColor = _strokeColor;
24
23
  }
25
24
  return self;
@@ -79,12 +78,6 @@
79
78
  _polyline.strokeWidth = strokeWidth;
80
79
  }
81
80
 
82
- -(void)setFillColor:(UIColor *)fillColor
83
- {
84
- _fillColor = fillColor;
85
- _polyline.spans = @[[GMSStyleSpan spanWithColor:fillColor]];
86
- }
87
-
88
81
  - (void)setLineDashPattern:(NSArray<NSNumber *> *)lineDashPattern {
89
82
  _lineDashPattern = lineDashPattern;
90
83
  [self configureStyleSpansIfNeeded];
@@ -28,11 +28,11 @@
28
28
  NSInteger *maximumZ = self.maximumZ;
29
29
  NSInteger *minimumZ = self.minimumZ;
30
30
  GMSTileURLConstructor urls = ^NSURL* _Nullable (NSUInteger x, NSUInteger y, NSUInteger zoom) {
31
-
31
+
32
32
  if (self.flipY == YES) {
33
33
  y = (1 << zoom) - y - 1;
34
34
  }
35
-
35
+
36
36
  NSString *url = urlTemplate;
37
37
  url = [url stringByReplacingOccurrencesOfString:@"{x}" withString:[NSString stringWithFormat: @"%ld", (long)x]];
38
38
  url = [url stringByReplacingOccurrencesOfString:@"{y}" withString:[NSString stringWithFormat: @"%ld", (long)y]];
@@ -13,7 +13,7 @@
13
13
 
14
14
  @interface WMSTileOverlay : GMSSyncTileLayer
15
15
  @property (nonatomic) double MapX,MapY,FULL;
16
- @property (nonatomic, strong) NSString *template;
16
+ @property (nonatomic, assign) NSString *urlTemplate;
17
17
  @property (nonatomic, assign) NSInteger maximumZ;
18
18
  @property (nonatomic, assign) NSInteger minimumZ;
19
19
  @end
@@ -62,7 +62,7 @@
62
62
  {
63
63
  _urlTemplate = urlTemplate;
64
64
  WMSTileOverlay *tile = [[WMSTileOverlay alloc] init];
65
- [tile setTemplate:urlTemplate];
65
+ [tile setUrlTemplate:urlTemplate];
66
66
  [tile setMaximumZ: _maximumZ];
67
67
  [tile setMinimumZ: _minimumZ];
68
68
  [tile setOpacity: _opacity];
@@ -91,9 +91,9 @@
91
91
  [NSNumber numberWithDouble:_MapX + (double)(x+1) * tile ],
92
92
  [NSNumber numberWithDouble:_MapY - (double)y * tile ],
93
93
  nil];
94
-
94
+
95
95
  return result;
96
-
96
+
97
97
  }
98
98
 
99
99
  - (UIImage *)tileForX:(NSUInteger)x y:(NSUInteger)y zoom:(NSUInteger)zoom
@@ -107,7 +107,7 @@
107
107
  return nil;
108
108
  }
109
109
  NSArray *bb = [self getBoundBox:x yAxis:y zoom:zoom];
110
- NSMutableString *url = [self.template mutableCopy];
110
+ NSMutableString *url = [self.urlTemplate mutableCopy];
111
111
  [url replaceOccurrencesOfString: @"{minX}" withString:[NSString stringWithFormat:@"%@", bb[0]] options:0 range:NSMakeRange(0, url.length)];
112
112
  [url replaceOccurrencesOfString: @"{minY}" withString:[NSString stringWithFormat:@"%@", bb[1]] options:0 range:NSMakeRange(0, url.length)];
113
113
  [url replaceOccurrencesOfString: @"{maxX}" withString:[NSString stringWithFormat:@"%@", bb[2]] options:0 range:NSMakeRange(0, url.length)];
@@ -10,7 +10,7 @@
10
10
 
11
11
  #import <React/RCTViewComponentView.h>
12
12
  #import <UIKit/UIKit.h>
13
- #import "RNMapsHostVewDelegate.h"
13
+ #import <react-native-maps-generated/RNMapsHostVewDelegate.h>
14
14
 
15
15
  @class AIRGoogleMap;
16
16