react-native-maps 1.7.1 → 2.0.0-beta.10

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 (186) hide show
  1. package/README.md +34 -11
  2. package/android/build.gradle +41 -10
  3. package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  4. package/android/src/main/java/com/rnmaps/maps/MapCalloutManager.java +1 -1
  5. package/android/src/main/java/com/rnmaps/maps/MapCircleManager.java +1 -1
  6. package/android/src/main/java/com/rnmaps/maps/MapGradientPolyline.java +4 -4
  7. package/android/src/main/java/com/rnmaps/maps/MapGradientPolylineManager.java +1 -1
  8. package/android/src/main/java/com/rnmaps/maps/MapHeatmapManager.java +1 -1
  9. package/android/src/main/java/com/rnmaps/maps/MapLiteManager.java +1 -1
  10. package/android/src/main/java/com/rnmaps/maps/MapLocalTile.java +4 -4
  11. package/android/src/main/java/com/rnmaps/maps/MapLocalTileManager.java +1 -1
  12. package/android/src/main/java/com/rnmaps/maps/MapManager.java +6 -63
  13. package/android/src/main/java/com/rnmaps/maps/MapMarker.java +2 -2
  14. package/android/src/main/java/com/rnmaps/maps/MapMarkerManager.java +10 -27
  15. package/android/src/main/java/com/rnmaps/maps/MapOverlayManager.java +1 -1
  16. package/android/src/main/java/com/rnmaps/maps/MapPolygonManager.java +1 -1
  17. package/android/src/main/java/com/rnmaps/maps/MapPolylineManager.java +1 -1
  18. package/android/src/main/java/com/rnmaps/maps/MapTileProvider.java +7 -5
  19. package/android/src/main/java/com/rnmaps/maps/MapUrlTileManager.java +1 -1
  20. package/android/src/main/java/com/rnmaps/maps/MapView.java +60 -149
  21. package/android/src/main/java/com/rnmaps/maps/MapViewModule.java +598 -0
  22. package/android/src/main/java/com/rnmaps/maps/MapWMSTile.java +6 -6
  23. package/android/src/main/java/com/rnmaps/maps/MapWMSTileManager.java +1 -1
  24. package/android/src/main/java/com/rnmaps/maps/MapsPackage.java +1 -1
  25. package/android/src/main/java/com/rnmaps/maps/SizeReportingShadowNode.java +1 -1
  26. package/ios/{AirGoogleMaps → GoogleMaps}/RCTConvert+GMSMapViewType.m +8 -0
  27. package/ios/{AirGoogleMaps/AIRDummyView.h → GoogleMaps/RNMDummyView.h} +3 -3
  28. package/ios/{AirGoogleMaps/AIRDummyView.m → GoogleMaps/RNMDummyView.m} +4 -4
  29. package/ios/{AirGoogleMaps/AIRGMSMarker.h → GoogleMaps/RNMGMSMarker.h} +6 -6
  30. package/ios/{AirGoogleMaps/AIRGMSMarker.m → GoogleMaps/RNMGMSMarker.m} +4 -4
  31. package/ios/{AirGoogleMaps/AIRGMSPolygon.h → GoogleMaps/RNMGMSPolygon.h} +4 -4
  32. package/ios/{AirGoogleMaps/AIRGMSPolygon.m → GoogleMaps/RNMGMSPolygon.m} +4 -4
  33. package/ios/{AirGoogleMaps/AIRGMSPolyline.h → GoogleMaps/RNMGMSPolyline.h} +4 -4
  34. package/ios/{AirGoogleMaps/AIRGMSPolyline.m → GoogleMaps/RNMGMSPolyline.m} +4 -4
  35. package/ios/{AirGoogleMaps/AIRGoogleMap.h → GoogleMaps/RNMGoogleMap.h} +5 -5
  36. package/ios/{AirGoogleMaps/AIRGoogleMap.m → GoogleMaps/RNMGoogleMap.m} +81 -77
  37. package/ios/{AirGoogleMaps/AIRGoogleMapCallout.h → GoogleMaps/RNMGoogleMapCallout.h} +3 -3
  38. package/ios/{AirGoogleMaps/AIRGoogleMapCallout.m → GoogleMaps/RNMGoogleMapCallout.m} +4 -4
  39. package/ios/{AirGoogleMaps/AIRGoogleMapCalloutManager.h → GoogleMaps/RNMGoogleMapCalloutManager.h} +3 -3
  40. package/ios/{AirGoogleMaps/AIRGoogleMapCalloutManager.m → GoogleMaps/RNMGoogleMapCalloutManager.m} +7 -7
  41. package/ios/{AirGoogleMaps/AIRGoogleMapCalloutSubview.h → GoogleMaps/RNMGoogleMapCalloutSubview.h} +3 -3
  42. package/ios/{AirGoogleMaps/AIRGoogleMapCalloutSubview.m → GoogleMaps/RNMGoogleMapCalloutSubview.m} +4 -4
  43. package/ios/{AirGoogleMaps/AIRGoogleMapCalloutSubviewManager.h → GoogleMaps/RNMGoogleMapCalloutSubviewManager.h} +3 -3
  44. package/ios/GoogleMaps/RNMGoogleMapCalloutSubviewManager.m +28 -0
  45. package/ios/{AirGoogleMaps/AIRGoogleMapCircle.h → GoogleMaps/RNMGoogleMapCircle.h} +3 -3
  46. package/ios/{AirGoogleMaps/AIRGoogleMapCircle.m → GoogleMaps/RNMGoogleMapCircle.m} +3 -3
  47. package/ios/{AirGoogleMaps/AIRGoogleMapCircleManager.h → GoogleMaps/RNMGoogleMapCircleManager.h} +2 -2
  48. package/ios/{AirGoogleMaps/AIRGoogleMapCircleManager.m → GoogleMaps/RNMGoogleMapCircleManager.m} +7 -7
  49. package/ios/{AirGoogleMaps/AIRGoogleMapHeatmap.h → GoogleMaps/RNMGoogleMapHeatmap.h} +3 -3
  50. package/ios/{AirGoogleMaps/AIRGoogleMapHeatmap.m → GoogleMaps/RNMGoogleMapHeatmap.m} +4 -4
  51. package/ios/GoogleMaps/RNMGoogleMapHeatmapManager.h +11 -0
  52. package/ios/{AirGoogleMaps/AIRGoogleMapHeatmapManager.m → GoogleMaps/RNMGoogleMapHeatmapManager.m} +9 -9
  53. package/ios/{AirGoogleMaps/AIRGoogleMapManager.h → GoogleMaps/RNMGoogleMapManager.h} +3 -3
  54. package/ios/GoogleMaps/RNMGoogleMapManager.m +256 -0
  55. package/ios/{AirGoogleMaps/AIRGoogleMapMarker.h → GoogleMaps/RNMGoogleMapMarker.h} +15 -15
  56. package/ios/{AirGoogleMaps/AIRGoogleMapMarker.m → GoogleMaps/RNMGoogleMapMarker.m} +23 -23
  57. package/ios/{AirGoogleMaps/AIRGoogleMapMarkerManager.h → GoogleMaps/RNMGoogleMapMarkerManager.h} +3 -3
  58. package/ios/{AirGoogleMaps/AIRGoogleMapMarkerManager.m → GoogleMaps/RNMGoogleMapMarkerManager.m} +20 -20
  59. package/ios/{AirGoogleMaps/AIRGoogleMapOverlay.h → GoogleMaps/RNMGoogleMapOverlay.h} +4 -4
  60. package/ios/{AirGoogleMaps/AIRGoogleMapOverlay.m → GoogleMaps/RNMGoogleMapOverlay.m} +4 -4
  61. package/ios/{AirGoogleMaps/AIRGoogleMapOverlayManager.h → GoogleMaps/RNMGoogleMapOverlayManager.h} +2 -2
  62. package/ios/{AirGoogleMaps/AIRGoogleMapOverlayManager.m → GoogleMaps/RNMGoogleMapOverlayManager.m} +6 -6
  63. package/ios/{AirGoogleMaps/AIRGoogleMapPolygon.h → GoogleMaps/RNMGoogleMapPolygon.h} +7 -7
  64. package/ios/{AirGoogleMaps/AIRGoogleMapPolygon.m → GoogleMaps/RNMGoogleMapPolygon.m} +7 -7
  65. package/ios/{AirGoogleMaps/AIRGoogleMapPolylineManager.h → GoogleMaps/RNMGoogleMapPolygonManager.h} +2 -2
  66. package/ios/{AirGoogleMaps/AIRGoogleMapPolygonManager.m → GoogleMaps/RNMGoogleMapPolygonManager.m} +10 -10
  67. package/ios/{AirGoogleMaps/AIRGoogleMapPolyline.h → GoogleMaps/RNMGoogleMapPolyline.h} +7 -7
  68. package/ios/{AirGoogleMaps/AIRGoogleMapPolyline.m → GoogleMaps/RNMGoogleMapPolyline.m} +9 -9
  69. package/ios/{AirGoogleMaps/AIRGoogleMapPolygonManager.h → GoogleMaps/RNMGoogleMapPolylineManager.h} +2 -2
  70. package/ios/{AirGoogleMaps/AIRGoogleMapPolylineManager.m → GoogleMaps/RNMGoogleMapPolylineManager.m} +9 -9
  71. package/ios/{AirGoogleMaps/AIRGoogleMapUrlTile.h → GoogleMaps/RNMGoogleMapUrlTile.h} +2 -2
  72. package/ios/{AirGoogleMaps/AIRGoogleMapUrlTile.m → GoogleMaps/RNMGoogleMapUrlTile.m} +3 -3
  73. package/ios/{AirGoogleMaps/AIRGoogleMapUrlTileManager.h → GoogleMaps/RNMGoogleMapUrlTileManager.h} +2 -2
  74. package/ios/{AirGoogleMaps/AIRGoogleMapURLTileManager.m → GoogleMaps/RNMGoogleMapUrlTileManager.m} +7 -7
  75. package/ios/GoogleMaps/RNMGoogleMapViewModule.h +5 -0
  76. package/ios/GoogleMaps/RNMGoogleMapViewModule.m +380 -0
  77. package/ios/{AirGoogleMaps/AIRGoogleMapWMSTile.h → GoogleMaps/RNMGoogleMapWMSTile.h} +3 -3
  78. package/ios/{AirGoogleMaps/AIRGoogleMapWMSTile.m → GoogleMaps/RNMGoogleMapWMSTile.m} +4 -4
  79. package/ios/{AirGoogleMaps/AIRGoogleMapWMSTileManager.h → GoogleMaps/RNMGoogleMapWMSTileManager.h} +3 -3
  80. package/ios/{AirGoogleMaps/AIRGoogleMapWMSTileManager.m → GoogleMaps/RNMGoogleMapWMSTileManager.m} +8 -8
  81. package/ios/{AirMaps → Maps}/Callout/SMCalloutView.h +9 -8
  82. package/ios/{AirMaps → Maps}/Callout/SMCalloutView.m +118 -118
  83. package/ios/{AirMaps/RCTConvert+AirMap.h → Maps/RCTConvert+RNMMap.h} +1 -1
  84. package/ios/{AirMaps/RCTConvert+AirMap.m → Maps/RCTConvert+RNMMap.m} +25 -8
  85. package/ios/{AirMaps/AIRMap.h → Maps/RNMMap.h} +8 -8
  86. package/ios/{AirMaps/AIRMap.m → Maps/RNMMap.m} +60 -56
  87. package/ios/{AirMaps/AIRMapCallout.h → Maps/RNMMapCallout.h} +1 -1
  88. package/ios/{AirMaps/AIRMapCallout.m → Maps/RNMMapCallout.m} +2 -2
  89. package/ios/{AirMaps/AIRMapCircleManager.h → Maps/RNMMapCalloutManager.h} +2 -2
  90. package/ios/{AirMaps/AIRMapCalloutManager.m → Maps/RNMMapCalloutManager.m} +7 -7
  91. package/ios/{AirMaps/AIRMapCalloutSubview.h → Maps/RNMMapCalloutSubview.h} +3 -3
  92. package/ios/{AirMaps/AIRMapCalloutSubview.m → Maps/RNMMapCalloutSubview.m} +4 -4
  93. package/ios/Maps/RNMMapCalloutSubviewManager.h +14 -0
  94. package/ios/Maps/RNMMapCalloutSubviewManager.m +24 -0
  95. package/ios/{AirMaps/AIRMapCircle.h → Maps/RNMMapCircle.h} +5 -5
  96. package/ios/{AirMaps/AIRMapCircle.m → Maps/RNMMapCircle.m} +3 -3
  97. package/ios/{AirMaps/AIRMapCalloutManager.h → Maps/RNMMapCircleManager.h} +2 -2
  98. package/ios/{AirMaps/AIRMapCircleManager.m → Maps/RNMMapCircleManager.m} +7 -7
  99. package/ios/{AirMaps/AIRMapCoordinate.h → Maps/RNMMapCoordinate.h} +2 -2
  100. package/ios/{AirMaps/AIRMapCoordinate.m → Maps/RNMMapCoordinate.m} +3 -3
  101. package/ios/{AirMaps/AIRMapLocalTile.h → Maps/RNMMapLocalTile.h} +7 -7
  102. package/ios/{AirMaps/AIRMapLocalTile.m → Maps/RNMMapLocalTile.m} +6 -6
  103. package/ios/{AirMaps/AIRMapLocalTileManager.h → Maps/RNMMapLocalTileManager.h} +3 -3
  104. package/ios/{AirMaps/AIRMapLocalTileManager.m → Maps/RNMMapLocalTileManager.m} +9 -9
  105. package/ios/{AirMaps/AIRMapLocalTileOverlay.h → Maps/RNMMapLocalTileOverlay.h} +2 -2
  106. package/ios/{AirMaps/AIRMapLocalTileOverlay.m → Maps/RNMMapLocalTileOverlay.m} +5 -5
  107. package/ios/{AirMaps/AIRMapManager.h → Maps/RNMMapManager.h} +6 -6
  108. package/ios/Maps/RNMMapManager.m +854 -0
  109. package/ios/{AirMaps/AIRMapMarker.h → Maps/RNMMapMarker.h} +8 -8
  110. package/ios/{AirMaps/AIRMapMarker.m → Maps/RNMMapMarker.m} +22 -25
  111. package/ios/{AirMaps/AIRMapMarkerManager.h → Maps/RNMMapMarkerManager.h} +1 -1
  112. package/ios/{AirMaps/AIRMapMarkerManager.m → Maps/RNMMapMarkerManager.m} +14 -14
  113. package/ios/{AirMaps/AIRMapOverlay.h → Maps/RNMMapOverlay.h} +7 -7
  114. package/ios/{AirMaps/AIRMapOverlay.m → Maps/RNMMapOverlay.m} +4 -4
  115. package/ios/Maps/RNMMapOverlayManager.h +5 -0
  116. package/ios/{AirMaps/AIRMapOverlayManager.m → Maps/RNMMapOverlayManager.m} +6 -6
  117. package/ios/{AirMaps/AIRMapOverlayRenderer.h → Maps/RNMMapOverlayRenderer.h} +1 -1
  118. package/ios/{AirMaps/AIRMapOverlayRenderer.m → Maps/RNMMapOverlayRenderer.m} +5 -5
  119. package/ios/{AirMaps/AIRMapPolygon.h → Maps/RNMMapPolygon.h} +7 -7
  120. package/ios/{AirMaps/AIRMapPolygon.m → Maps/RNMMapPolygon.m} +4 -4
  121. package/ios/{AirMaps/AIRMapPolygonManager.h → Maps/RNMMapPolygonManager.h} +2 -2
  122. package/ios/{AirMaps/AIRMapPolygonManager.m → Maps/RNMMapPolygonManager.m} +10 -10
  123. package/ios/{AirMaps/AIRMapPolyline.h → Maps/RNMMapPolyline.h} +6 -6
  124. package/ios/{AirMaps/AIRMapPolyline.m → Maps/RNMMapPolyline.m} +11 -11
  125. package/ios/{AirMaps/AIRMapPolylineManager.h → Maps/RNMMapPolylineManager.h} +2 -2
  126. package/ios/{AirMaps/AIRMapPolylineManager.m → Maps/RNMMapPolylineManager.m} +9 -9
  127. package/ios/{AirMaps/AIRMapPolylineRenderer.h → Maps/RNMMapPolylineRenderer.h} +2 -2
  128. package/ios/{AirMaps/AIRMapPolylineRenderer.m → Maps/RNMMapPolylineRenderer.m} +10 -10
  129. package/ios/{AirMaps/AIRMapSnapshot.h → Maps/RNMMapSnapshot.h} +6 -6
  130. package/ios/{AirMaps/AIRMapUrlTile.h → Maps/RNMMapUrlTile.h} +18 -18
  131. package/ios/{AirMaps/AIRMapUrlTile.m → Maps/RNMMapUrlTile.m} +7 -7
  132. package/ios/{AirMaps/AIRMapUrlTileCachedOverlay.h → Maps/RNMMapUrlTileCachedOverlay.h} +3 -3
  133. package/ios/{AirMaps/AIRMapUrlTileCachedOverlay.m → Maps/RNMMapUrlTileCachedOverlay.m} +10 -10
  134. package/ios/{AirMaps/AIRMapUrlTileManager.h → Maps/RNMMapUrlTileManager.h} +3 -3
  135. package/ios/{AirMaps/AIRMapUrlTileManager.m → Maps/RNMMapUrlTileManager.m} +9 -9
  136. package/ios/Maps/RNMMapViewModule.h +5 -0
  137. package/ios/Maps/RNMMapViewModule.m +459 -0
  138. package/ios/{AirMaps/AIRMapWMSTile.h → Maps/RNMMapWMSTile.h} +11 -11
  139. package/ios/{AirMaps/AIRMapWMSTile.m → Maps/RNMMapWMSTile.m} +15 -15
  140. package/ios/{AirMaps/AIRMapWMSTileManager.h → Maps/RNMMapWMSTileManager.h} +3 -3
  141. package/ios/{AirMaps/AIRMapWMSTileManager.m → Maps/RNMMapWMSTileManager.m} +9 -9
  142. package/ios/RNMaps.xcodeproj/project.pbxproj +647 -0
  143. package/lib/Geojson.d.ts +1 -1
  144. package/lib/MapCallout.js +2 -2
  145. package/lib/MapCalloutSubview.js +2 -2
  146. package/lib/MapCircle.js +2 -2
  147. package/lib/MapHeatmap.js +2 -2
  148. package/lib/MapLocalTile.js +2 -2
  149. package/lib/MapMarker.d.ts +2 -3
  150. package/lib/MapMarker.js +2 -4
  151. package/lib/MapOverlay.d.ts +1 -2
  152. package/lib/MapOverlay.js +2 -4
  153. package/lib/MapPolygon.js +2 -2
  154. package/lib/MapPolyline.js +2 -2
  155. package/lib/MapUrlTile.js +2 -2
  156. package/lib/MapView.d.ts +14 -14
  157. package/lib/MapView.js +92 -107
  158. package/lib/MapView.types.d.ts +8 -3
  159. package/lib/MapViewNativeComponent.d.ts +1 -8
  160. package/lib/MapViewNativeComponent.js +1 -10
  161. package/lib/MapWMSTile.js +2 -2
  162. package/lib/NativeGoogleMapViewModule.d.ts +25 -0
  163. package/lib/NativeGoogleMapViewModule.js +4 -0
  164. package/lib/NativeMapViewModule.d.ts +29 -0
  165. package/lib/NativeMapViewModule.js +4 -0
  166. package/lib/decorateMapComponent.d.ts +1 -1
  167. package/lib/decorateMapComponent.js +3 -3
  168. package/lib/index.d.ts +14 -21
  169. package/lib/index.js +10 -38
  170. package/package.json +6 -6
  171. package/react-native-google-maps.podspec +1 -1
  172. package/react-native-maps.podspec +2 -2
  173. package/android/src/main/java/com/rnmaps/maps/MapModule.java +0 -380
  174. package/ios/AirGoogleMaps/AIRGoogleMapCalloutSubviewManager.m +0 -28
  175. package/ios/AirGoogleMaps/AIRGoogleMapHeatmapManager.h +0 -11
  176. package/ios/AirGoogleMaps/AIRGoogleMapManager.m +0 -597
  177. package/ios/AirMaps/AIRMapCalloutSubviewManager.h +0 -14
  178. package/ios/AirMaps/AIRMapCalloutSubviewManager.m +0 -24
  179. package/ios/AirMaps/AIRMapManager.m +0 -1253
  180. package/ios/AirMaps/AIRMapOverlayManager.h +0 -5
  181. package/ios/AirMaps/AIRWeakMapReference.h +0 -24
  182. package/ios/AirMaps/AIRWeakMapReference.m +0 -23
  183. package/ios/AirMaps/AIRWeakTimerReference.h +0 -21
  184. package/ios/AirMaps/AIRWeakTimerReference.m +0 -42
  185. package/ios/AirMaps.xcodeproj/project.pbxproj +0 -587
  186. /package/ios/{AirGoogleMaps → GoogleMaps}/RCTConvert+GMSMapViewType.h +0 -0
@@ -1,24 +1,24 @@
1
1
  //
2
- // AIRGoogleMapURLTileManager.m
2
+ // RNMGoogleMapURLTileManager.m
3
3
  // Created by Nick Italiano on 11/5/16.
4
4
  //
5
5
 
6
6
  #ifdef HAVE_GOOGLE_MAPS
7
7
 
8
- #import "AIRGoogleMapUrlTileManager.h"
9
- #import "AIRGoogleMapUrlTile.h"
8
+ #import "RNMGoogleMapUrlTileManager.h"
9
+ #import "RNMGoogleMapUrlTile.h"
10
10
 
11
- @interface AIRGoogleMapUrlTileManager()
11
+ @interface RNMGoogleMapUrlTileManager()
12
12
 
13
13
  @end
14
14
 
15
- @implementation AIRGoogleMapUrlTileManager
15
+ @implementation RNMGoogleMapUrlTileManager
16
16
 
17
- RCT_EXPORT_MODULE()
17
+ RCT_EXPORT_MODULE(RNMGoogleMapUrlTile)
18
18
 
19
19
  - (UIView *)view
20
20
  {
21
- AIRGoogleMapUrlTile *tileLayer = [AIRGoogleMapUrlTile new];
21
+ RNMGoogleMapUrlTile *tileLayer = [RNMGoogleMapUrlTile new];
22
22
  return tileLayer;
23
23
  }
24
24
 
@@ -0,0 +1,5 @@
1
+ #import <React/RCTBridgeModule.h>
2
+
3
+ @interface RNMGoogleMapViewModule : NSObject <RCTBridgeModule>
4
+
5
+ @end
@@ -0,0 +1,380 @@
1
+ #import "RNMGoogleMapViewModule.h"
2
+ #import "RNMGoogleMap.h"
3
+ #import "RNMGoogleMapMarker.h"
4
+ #import "RNMMapCoordinate.h"
5
+ #import "RCTConvert+GMSMapViewType.h"
6
+ #import <React/RCTUIManager.h>
7
+ #import <React/RCTUIManagerUtils.h>
8
+
9
+ @implementation RNMGoogleMapViewModule
10
+
11
+ @synthesize bridge = _bridge;
12
+
13
+ - (dispatch_queue_t)methodQueue
14
+ {
15
+ return RCTGetUIManagerQueue();
16
+ }
17
+
18
+ RCT_EXPORT_MODULE();
19
+
20
+ RCT_EXPORT_METHOD(getCamera:(nonnull NSNumber *)reactTag
21
+ resolver: (RCTPromiseResolveBlock)resolve
22
+ rejecter:(RCTPromiseRejectBlock)reject)
23
+ {
24
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
25
+ id view = viewRegistry[reactTag];
26
+ if (![view isKindOfClass:[RNMGoogleMap class]]) {
27
+ reject(@"Invalid argument", [NSString stringWithFormat:@"Invalid view returned from registry, expecting RNMGoogleMap, got: %@", view], NULL);
28
+ } else {
29
+ RNMGoogleMap *mapView = (RNMGoogleMap *)view;
30
+ resolve(@{
31
+ @"center": @{
32
+ @"latitude": @(mapView.camera.target.latitude),
33
+ @"longitude": @(mapView.camera.target.longitude),
34
+ },
35
+ @"pitch": @(mapView.camera.viewingAngle),
36
+ @"heading": @(mapView.camera.bearing),
37
+ @"zoom": @(mapView.camera.zoom),
38
+ });
39
+ }
40
+ }];
41
+ }
42
+
43
+ RCT_EXPORT_METHOD(takeSnapshot:(nonnull NSNumber *)reactTag
44
+ config:(NSDictionary *)config
45
+ resolver:(RCTPromiseResolveBlock)resolve
46
+ rejecter:(RCTPromiseRejectBlock)reject)
47
+ {
48
+ NSString *format = config[@"format"];
49
+ NSNumber *quality = config[@"quality"];
50
+ NSString *result = config[@"result"];
51
+ NSTimeInterval timeStamp = [[NSDate date] timeIntervalSince1970];
52
+ NSString *pathComponent = [NSString stringWithFormat:@"Documents/snapshot-%.20lf.%@", timeStamp, format];
53
+ NSString *filePath = [NSHomeDirectory() stringByAppendingPathComponent: pathComponent];
54
+
55
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
56
+ id view = viewRegistry[reactTag];
57
+ if (![view isKindOfClass:[RNMGoogleMap class]]) {
58
+ RCTLogError(@"Invalid view returned from registry, expecting RNMMap, got: %@", view);
59
+ } else {
60
+ RNMGoogleMap *mapView = (RNMGoogleMap *)view;
61
+
62
+ // TODO: currently we are ignoring width, height, region
63
+
64
+ UIGraphicsBeginImageContextWithOptions(mapView.frame.size, YES, 0.0f);
65
+ [mapView.layer renderInContext:UIGraphicsGetCurrentContext()];
66
+ UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
67
+
68
+ NSData *data;
69
+ if ([format isEqualToString:@"png"]) {
70
+ data = UIImagePNGRepresentation(image);
71
+
72
+ }
73
+ else if([format isEqualToString:@"jpg"]) {
74
+ data = UIImageJPEGRepresentation(image, quality.floatValue);
75
+ }
76
+
77
+ if ([result isEqualToString:@"file"]) {
78
+ [data writeToFile:filePath atomically:YES];
79
+ resolve(filePath);
80
+ }
81
+ else if ([result isEqualToString:@"base64"]) {
82
+ NSString *base64 = [data base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithCarriageReturn];
83
+ resolve(base64);
84
+ }
85
+ }
86
+ UIGraphicsEndImageContext();
87
+ }];
88
+ }
89
+
90
+ RCT_EXPORT_METHOD(pointForCoordinate:(nonnull NSNumber *)reactTag
91
+ coordinate:(NSDictionary *)coordinate
92
+ resolver: (RCTPromiseResolveBlock)resolve
93
+ rejecter:(RCTPromiseRejectBlock)reject)
94
+ {
95
+ CLLocationCoordinate2D coord =
96
+ CLLocationCoordinate2DMake(
97
+ [coordinate[@"latitude"] doubleValue],
98
+ [coordinate[@"longitude"] doubleValue]
99
+ );
100
+
101
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
102
+ id view = viewRegistry[reactTag];
103
+ if (![view isKindOfClass:[RNMGoogleMap class]]) {
104
+ RCTLogError(@"Invalid view returned from registry, expecting RNMMap, got: %@", view);
105
+ } else {
106
+ RNMGoogleMap *mapView = (RNMGoogleMap *)view;
107
+
108
+ CGPoint touchPoint = [mapView.projection pointForCoordinate:coord];
109
+
110
+ resolve(@{
111
+ @"x": @(touchPoint.x),
112
+ @"y": @(touchPoint.y),
113
+ });
114
+ }
115
+ }];
116
+ }
117
+
118
+ RCT_EXPORT_METHOD(coordinateForPoint:(nonnull NSNumber *)reactTag
119
+ point:(NSDictionary *)point
120
+ resolver: (RCTPromiseResolveBlock)resolve
121
+ rejecter:(RCTPromiseRejectBlock)reject)
122
+ {
123
+ CGPoint pt = CGPointMake(
124
+ [point[@"x"] doubleValue],
125
+ [point[@"y"] doubleValue]
126
+ );
127
+
128
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
129
+ id view = viewRegistry[reactTag];
130
+ if (![view isKindOfClass:[RNMGoogleMap class]]) {
131
+ RCTLogError(@"Invalid view returned from registry, expecting RNMMap, got: %@", view);
132
+ } else {
133
+ RNMGoogleMap *mapView = (RNMGoogleMap *)view;
134
+
135
+ CLLocationCoordinate2D coordinate = [mapView.projection coordinateForPoint:pt];
136
+
137
+ resolve(@{
138
+ @"latitude": @(coordinate.latitude),
139
+ @"longitude": @(coordinate.longitude),
140
+ });
141
+ }
142
+ }];
143
+ }
144
+
145
+ RCT_EXPORT_METHOD(getMarkersFrames:(nonnull NSNumber *)reactTag
146
+ onlyVisible:(BOOL)onlyVisible
147
+ resolver: (RCTPromiseResolveBlock)resolve
148
+ rejecter:(RCTPromiseRejectBlock)reject)
149
+ {
150
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
151
+ id view = viewRegistry[reactTag];
152
+ if (![view isKindOfClass:[RNMGoogleMap class]]) {
153
+ RCTLogError(@"Invalid view returned from registry, expecting RNMMap, got: %@", view);
154
+ } else {
155
+ RNMGoogleMap *mapView = (RNMGoogleMap *)view;
156
+ resolve([mapView getMarkersFramesWithOnlyVisible:onlyVisible]);
157
+ }
158
+ }];
159
+ }
160
+
161
+ RCT_EXPORT_METHOD(getMapBoundaries:(nonnull NSNumber *)reactTag
162
+ resolver:(RCTPromiseResolveBlock)resolve
163
+ rejecter:(RCTPromiseRejectBlock)reject)
164
+ {
165
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
166
+ id view = viewRegistry[reactTag];
167
+ if (![view isKindOfClass:[RNMGoogleMap class]]) {
168
+ RCTLogError(@"Invalid view returned from registry, expecting RNMGoogleMap, got: %@", view);
169
+ } else {
170
+ NSArray *boundingBox = [view getMapBoundaries];
171
+
172
+ resolve(@{
173
+ @"northEast" : @{
174
+ @"longitude" : boundingBox[0][0],
175
+ @"latitude" : boundingBox[0][1]
176
+ },
177
+ @"southWest" : @{
178
+ @"longitude" : boundingBox[1][0],
179
+ @"latitude" : boundingBox[1][1]
180
+ }
181
+ });
182
+ }
183
+ }];
184
+ }
185
+
186
+ RCT_EXPORT_METHOD(animateToRegion:(nonnull NSNumber *)reactTag
187
+ withRegion:(NSDictionary *)region
188
+ withDuration:(CGFloat)duration
189
+ resolver: (RCTPromiseResolveBlock)resolve
190
+ rejecter:(RCTPromiseRejectBlock)reject)
191
+ {
192
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
193
+ id view = viewRegistry[reactTag];
194
+ if (![view isKindOfClass:[RNMGoogleMap class]]) {
195
+ RCTLogError(@"Invalid view returned from registry, expecting RNMGoogleMap, got: %@", view);
196
+ } else {
197
+ RNMGoogleMap *mapView = (RNMGoogleMap *)view;
198
+ MKCoordinateRegion mkRegion = [RCTConvert MKCoordinateRegion:region];
199
+ GMSCameraPosition *camera = [RNMGoogleMap makeGMSCameraPositionFromMap:mapView andMKCoordinateRegion:mkRegion];
200
+ // Core Animation must be used to control the animation's duration
201
+ // See http://stackoverflow.com/a/15663039/171744
202
+ [CATransaction begin];
203
+ [CATransaction setCompletionBlock:^{
204
+ resolve(nil);
205
+ }];
206
+ [CATransaction setAnimationDuration:duration/1000];
207
+ [mapView animateToCameraPosition:camera];
208
+ [CATransaction commit];
209
+ }
210
+ }];
211
+ }
212
+
213
+ RCT_EXPORT_METHOD(animateCamera:(nonnull NSNumber *)reactTag
214
+ withCamera:(id)json
215
+ withDuration:(CGFloat)duration
216
+ resolver: (RCTPromiseResolveBlock)resolve
217
+ rejecter:(RCTPromiseRejectBlock)reject)
218
+ {
219
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
220
+ id view = viewRegistry[reactTag];
221
+ if (![view isKindOfClass:[RNMGoogleMap class]]) {
222
+ RCTLogError(@"Invalid view returned from registry, expecting RNMGoogleMap, got: %@", view);
223
+ } else {
224
+ RNMGoogleMap *mapView = (RNMGoogleMap *)view;
225
+ GMSCameraPosition *camera = [RCTConvert GMSCameraPositionWithDefaults:json existingCamera:[mapView camera]];
226
+
227
+ [CATransaction begin];
228
+ [CATransaction setCompletionBlock:^{
229
+ resolve(nil);
230
+ }];
231
+ [CATransaction setAnimationDuration:duration/1000];
232
+ [mapView animateToCameraPosition:camera];
233
+ [CATransaction commit];
234
+ }
235
+ }];
236
+ }
237
+
238
+ RCT_EXPORT_METHOD(fitToElements:(nonnull NSNumber *)reactTag
239
+ edgePadding:(nonnull NSDictionary *)edgePadding
240
+ withDuration:(CGFloat)duration
241
+ resolver: (RCTPromiseResolveBlock)resolve
242
+ rejecter:(RCTPromiseRejectBlock)reject)
243
+ {
244
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
245
+ id view = viewRegistry[reactTag];
246
+ if (![view isKindOfClass:[RNMGoogleMap class]]) {
247
+ RCTLogError(@"Invalid view returned from registry, expecting RNMGoogleMap, got: %@", view);
248
+ } else {
249
+ RNMGoogleMap *mapView = (RNMGoogleMap *)view;
250
+
251
+ CLLocationCoordinate2D myLocation = ((RNMGoogleMapMarker *)(mapView.markers.firstObject)).realMarker.position;
252
+ GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:myLocation coordinate:myLocation];
253
+
254
+ for (RNMGoogleMapMarker *marker in mapView.markers)
255
+ bounds = [bounds includingCoordinate:marker.realMarker.position];
256
+
257
+ GMSCameraUpdate* cameraUpdate;
258
+
259
+ if ([edgePadding count] != 0) {
260
+ // Set Map viewport
261
+ CGFloat top = [RCTConvert CGFloat:edgePadding[@"top"]];
262
+ CGFloat right = [RCTConvert CGFloat:edgePadding[@"right"]];
263
+ CGFloat bottom = [RCTConvert CGFloat:edgePadding[@"bottom"]];
264
+ CGFloat left = [RCTConvert CGFloat:edgePadding[@"left"]];
265
+
266
+ cameraUpdate = [GMSCameraUpdate fitBounds:bounds withEdgeInsets:UIEdgeInsetsMake(top, left, bottom, right)];
267
+ } else {
268
+ cameraUpdate = [GMSCameraUpdate fitBounds:bounds withPadding:55.0f];
269
+ }
270
+ if (duration > 0.0f) {
271
+ [CATransaction begin];
272
+ [CATransaction setCompletionBlock:^{
273
+ resolve(nil);
274
+ }];
275
+ [CATransaction setAnimationDuration:duration/1000];
276
+ [mapView animateWithCameraUpdate:cameraUpdate];
277
+ [CATransaction commit];
278
+ } else {
279
+ [mapView moveCamera:cameraUpdate];
280
+ resolve(nil);
281
+ }
282
+ }
283
+ }];
284
+ }
285
+
286
+ RCT_EXPORT_METHOD(fitToSuppliedMarkers:(nonnull NSNumber *)reactTag
287
+ markers:(nonnull NSArray *)markers
288
+ edgePadding:(nonnull NSDictionary *)edgePadding
289
+ withDuration:(CGFloat)duration
290
+ resolver: (RCTPromiseResolveBlock)resolve
291
+ rejecter:(RCTPromiseRejectBlock)reject)
292
+ {
293
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
294
+ id view = viewRegistry[reactTag];
295
+ if (![view isKindOfClass:[RNMGoogleMap class]]) {
296
+ RCTLogError(@"Invalid view returned from registry, expecting RNMGoogleMap, got: %@", view);
297
+ } else {
298
+ RNMGoogleMap *mapView = (RNMGoogleMap *)view;
299
+
300
+ NSPredicate *filterMarkers = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {
301
+ RNMGoogleMapMarker *marker = (RNMGoogleMapMarker *)evaluatedObject;
302
+ return [marker isKindOfClass:[RNMGoogleMapMarker class]] && [markers containsObject:marker.identifier];
303
+ }];
304
+
305
+ NSArray *filteredMarkers = [mapView.markers filteredArrayUsingPredicate:filterMarkers];
306
+
307
+ CLLocationCoordinate2D myLocation = ((RNMGoogleMapMarker *)(filteredMarkers.firstObject)).realMarker.position;
308
+ GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:myLocation coordinate:myLocation];
309
+
310
+ for (RNMGoogleMapMarker *marker in filteredMarkers)
311
+ bounds = [bounds includingCoordinate:marker.realMarker.position];
312
+
313
+ // Set Map viewport
314
+ CGFloat top = [RCTConvert CGFloat:edgePadding[@"top"]];
315
+ CGFloat right = [RCTConvert CGFloat:edgePadding[@"right"]];
316
+ CGFloat bottom = [RCTConvert CGFloat:edgePadding[@"bottom"]];
317
+ CGFloat left = [RCTConvert CGFloat:edgePadding[@"left"]];
318
+
319
+ GMSCameraUpdate* cameraUpdate = [GMSCameraUpdate fitBounds:bounds withEdgeInsets:UIEdgeInsetsMake(top, left, bottom, right)];
320
+ if (duration > 0.0f) {
321
+ [CATransaction begin];
322
+ [CATransaction setCompletionBlock:^{
323
+ resolve(nil);
324
+ }];
325
+ [CATransaction setAnimationDuration:duration/1000];
326
+ [mapView animateWithCameraUpdate:cameraUpdate];
327
+ [CATransaction commit];
328
+ } else {
329
+ [mapView moveCamera:cameraUpdate];
330
+ resolve(nil);
331
+ }
332
+ }
333
+ }];
334
+ }
335
+
336
+ RCT_EXPORT_METHOD(fitToCoordinates:(nonnull NSNumber *)reactTag
337
+ coordinates:(nonnull NSArray<RNMMapCoordinate *> *)coordinates
338
+ edgePadding:(nonnull NSDictionary *)edgePadding
339
+ withDuration:(CGFloat)duration
340
+ resolver: (RCTPromiseResolveBlock)resolve
341
+ rejecter:(RCTPromiseRejectBlock)reject)
342
+ {
343
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
344
+ id view = viewRegistry[reactTag];
345
+ if (![view isKindOfClass:[RNMGoogleMap class]]) {
346
+ RCTLogError(@"Invalid view returned from registry, expecting RNMGoogleMap, got: %@", view);
347
+ } else {
348
+ RNMGoogleMap *mapView = (RNMGoogleMap *)view;
349
+
350
+ CLLocationCoordinate2D myLocation = coordinates.firstObject.coordinate;
351
+ GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:myLocation coordinate:myLocation];
352
+
353
+ for (RNMMapCoordinate *coordinate in coordinates)
354
+ bounds = [bounds includingCoordinate:coordinate.coordinate];
355
+
356
+ // Set Map viewport
357
+ CGFloat top = [RCTConvert CGFloat:edgePadding[@"top"]];
358
+ CGFloat right = [RCTConvert CGFloat:edgePadding[@"right"]];
359
+ CGFloat bottom = [RCTConvert CGFloat:edgePadding[@"bottom"]];
360
+ CGFloat left = [RCTConvert CGFloat:edgePadding[@"left"]];
361
+
362
+ GMSCameraUpdate *cameraUpdate = [GMSCameraUpdate fitBounds:bounds withEdgeInsets:UIEdgeInsetsMake(top, left, bottom, right)];
363
+
364
+ if (duration > 0.0f) {
365
+ [CATransaction begin];
366
+ [CATransaction setCompletionBlock:^{
367
+ resolve(nil);
368
+ }];
369
+ [CATransaction setAnimationDuration:duration/1000];
370
+ [mapView animateWithCameraUpdate:cameraUpdate];
371
+ [CATransaction commit];
372
+ } else {
373
+ [mapView moveCamera: cameraUpdate];
374
+ resolve(nil);
375
+ }
376
+ }
377
+ }];
378
+ }
379
+
380
+ @end
@@ -1,6 +1,6 @@
1
1
  //
2
- // AIRGoogleMapWMSTile.h
3
- // AirMaps
2
+ // RNMGoogleMapWMSTile.h
3
+ // RNMaps
4
4
  //
5
5
  // Created by nizam on 10/28/18.
6
6
  // Copyright © 2018. All rights reserved.
@@ -18,7 +18,7 @@
18
18
  @property (nonatomic, assign) NSInteger minimumZ;
19
19
  @end
20
20
 
21
- @interface AIRGoogleMapWMSTile : UIView
21
+ @interface RNMGoogleMapWMSTile : UIView
22
22
  @property (nonatomic, strong) WMSTileOverlay *tileLayer;
23
23
  @property (nonatomic, assign) NSString *urlTemplate;
24
24
  @property (nonatomic, assign) int zIndex;
@@ -1,6 +1,6 @@
1
1
  //
2
- // AIRGoogleMapWMSTile.m
3
- // AirMaps
2
+ // RNMGoogleMapWMSTile.m
3
+ // RNMaps
4
4
  //
5
5
  // Created by nizam on 10/28/18.
6
6
  // Copyright © 2018. All rights reserved.
@@ -8,9 +8,9 @@
8
8
 
9
9
  #ifdef HAVE_GOOGLE_MAPS
10
10
 
11
- #import "AIRGoogleMapWMSTile.h"
11
+ #import "RNMGoogleMapWMSTile.h"
12
12
 
13
- @implementation AIRGoogleMapWMSTile
13
+ @implementation RNMGoogleMapWMSTile
14
14
 
15
15
  -(id) init
16
16
  {
@@ -1,6 +1,6 @@
1
1
  //
2
- // AIRGoogleMapWMSTileManager.h
3
- // AirMaps
2
+ // RNMGoogleMapWMSTileManager.h
3
+ // RNMaps
4
4
  //
5
5
  // Created by nizam on 10/28/18.
6
6
  // Copyright © 2018. All rights reserved.
@@ -11,7 +11,7 @@
11
11
  #import <Foundation/Foundation.h>
12
12
  #import <React/RCTViewManager.h>
13
13
 
14
- @interface AIRGoogleMapWMSTileManager : RCTViewManager
14
+ @interface RNMGoogleMapWMSTileManager : RCTViewManager
15
15
  @end
16
16
 
17
17
  #endif
@@ -1,6 +1,6 @@
1
1
  //
2
- // AIRGoogleMapWMSTileManager.m
3
- // AirMaps
2
+ // RNMGoogleMapWMSTileManager.m
3
+ // RNMaps
4
4
  //
5
5
  // Created by nizam on 10/28/18.
6
6
  // Copyright © 2018. All rights reserved.
@@ -8,20 +8,20 @@
8
8
 
9
9
  #ifdef HAVE_GOOGLE_MAPS
10
10
 
11
- #import "AIRGoogleMapWMSTileManager.h"
12
- #import "AIRGoogleMapWMSTile.h"
11
+ #import "RNMGoogleMapWMSTileManager.h"
12
+ #import "RNMGoogleMapWMSTile.h"
13
13
 
14
- @interface AIRGoogleMapWMSTileManager()
14
+ @interface RNMGoogleMapWMSTileManager()
15
15
 
16
16
  @end
17
17
 
18
- @implementation AIRGoogleMapWMSTileManager
18
+ @implementation RNMGoogleMapWMSTileManager
19
19
 
20
- RCT_EXPORT_MODULE()
20
+ RCT_EXPORT_MODULE(RNMGoogleMapWMSTile)
21
21
 
22
22
  - (UIView *)view
23
23
  {
24
- AIRGoogleMapWMSTile *tileLayer = [AIRGoogleMapWMSTile new];
24
+ RNMGoogleMapWMSTile *tileLayer = [RNMGoogleMapWMSTile new];
25
25
  return tileLayer;
26
26
  }
27
27
 
@@ -6,7 +6,7 @@
6
6
  SMCalloutView
7
7
  -------------
8
8
  Created by Nick Farina (nfarina@gmail.com)
9
- Version 2.1.2
9
+ Version 2.1.5
10
10
 
11
11
  */
12
12
 
@@ -20,11 +20,11 @@ typedef NS_OPTIONS(NSUInteger, SMCalloutArrowDirection) {
20
20
  /// options for the callout present/dismiss animation
21
21
  typedef NS_ENUM(NSInteger, SMCalloutAnimation) {
22
22
  /// the "bounce" animation we all know and love from @c UIAlertView
23
- SMCalloutAnimationBounce,
23
+ SMCalloutAnimationBounce,
24
24
  /// a simple fade in or out
25
- SMCalloutAnimationFade,
25
+ SMCalloutAnimationFade,
26
26
  /// grow or shrink linearly, like in the iPad Calendar app
27
- SMCalloutAnimationStretch
27
+ SMCalloutAnimationStretch
28
28
  };
29
29
 
30
30
  NS_ASSUME_NONNULL_BEGIN
@@ -40,6 +40,7 @@ extern NSTimeInterval const kSMCalloutViewRepositionDelayForUIScrollView;
40
40
  // Callout view.
41
41
  //
42
42
 
43
+ // iOS 10+ expects CAAnimationDelegate to be set explicitly.
43
44
  #if __IPHONE_OS_VERSION_MAX_ALLOWED < 100000
44
45
  @interface SMCalloutView : UIView
45
46
  #else
@@ -175,11 +176,11 @@ extern NSTimeInterval const kSMCalloutViewRepositionDelayForUIScrollView;
175
176
  - (void)calloutViewClicked:(SMCalloutView *)calloutView;
176
177
 
177
178
  /**
178
- Called when the callout view detects that it will be outside the constrained view when it appears,
179
- or if the target rect was already outside the constrained view. You can implement this selector
179
+ Called when the callout view detects that it will be outside the constrained view when it appears,
180
+ or if the target rect was already outside the constrained view. You can implement this selector
180
181
  to respond to this situation by repositioning your content first in order to make everything visible.
181
- The @c CGSize passed is the calculated offset necessary to make everything visible (plus a nice margin).
182
- It expects you to return the amount of time you need to reposition things so the popup can be delayed.
182
+ The @c CGSize passed is the calculated offset necessary to make everything visible (plus a nice margin).
183
+ It expects you to return the amount of time you need to reposition things so the popup can be delayed.
183
184
  Typically you would return @c kSMCalloutViewRepositionDelayForUIScrollView if you're repositioning by calling @c [UIScrollView @c setContentOffset:animated:].
184
185
 
185
186
  @param calloutView the @c SMCalloutView to reposition