react-native-maps 2.0.0-beta.5 → 2.0.0-beta.7

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 (178) hide show
  1. package/android/src/main/java/com/rnmaps/maps/MapCalloutManager.java +1 -1
  2. package/android/src/main/java/com/rnmaps/maps/MapCircleManager.java +1 -1
  3. package/android/src/main/java/com/rnmaps/maps/MapGradientPolyline.java +4 -4
  4. package/android/src/main/java/com/rnmaps/maps/MapGradientPolylineManager.java +1 -1
  5. package/android/src/main/java/com/rnmaps/maps/MapHeatmapManager.java +1 -1
  6. package/android/src/main/java/com/rnmaps/maps/MapLiteManager.java +1 -1
  7. package/android/src/main/java/com/rnmaps/maps/MapLocalTile.java +4 -4
  8. package/android/src/main/java/com/rnmaps/maps/MapLocalTileManager.java +1 -1
  9. package/android/src/main/java/com/rnmaps/maps/MapManager.java +1 -56
  10. package/android/src/main/java/com/rnmaps/maps/MapMarker.java +1 -1
  11. package/android/src/main/java/com/rnmaps/maps/MapMarkerManager.java +9 -26
  12. package/android/src/main/java/com/rnmaps/maps/MapOverlayManager.java +1 -1
  13. package/android/src/main/java/com/rnmaps/maps/MapPolygonManager.java +1 -1
  14. package/android/src/main/java/com/rnmaps/maps/MapPolylineManager.java +1 -1
  15. package/android/src/main/java/com/rnmaps/maps/MapTileProvider.java +4 -4
  16. package/android/src/main/java/com/rnmaps/maps/MapUrlTileManager.java +1 -1
  17. package/android/src/main/java/com/rnmaps/maps/MapView.java +24 -131
  18. package/android/src/main/java/com/rnmaps/maps/MapViewModule.java +598 -0
  19. package/android/src/main/java/com/rnmaps/maps/MapWMSTile.java +6 -6
  20. package/android/src/main/java/com/rnmaps/maps/MapWMSTileManager.java +1 -1
  21. package/android/src/main/java/com/rnmaps/maps/MapsPackage.java +1 -1
  22. package/android/src/main/java/com/rnmaps/maps/SizeReportingShadowNode.java +1 -1
  23. package/ios/{AirGoogleMaps/AIRDummyView.h → GoogleMaps/RNMDummyView.h} +3 -3
  24. package/ios/{AirGoogleMaps/AIRDummyView.m → GoogleMaps/RNMDummyView.m} +4 -4
  25. package/ios/{AirGoogleMaps/AIRGMSMarker.h → GoogleMaps/RNMGMSMarker.h} +6 -6
  26. package/ios/{AirGoogleMaps/AIRGMSMarker.m → GoogleMaps/RNMGMSMarker.m} +4 -4
  27. package/ios/{AirGoogleMaps/AIRGMSPolygon.h → GoogleMaps/RNMGMSPolygon.h} +4 -4
  28. package/ios/{AirGoogleMaps/AIRGMSPolygon.m → GoogleMaps/RNMGMSPolygon.m} +4 -4
  29. package/ios/{AirGoogleMaps/AIRGMSPolyline.h → GoogleMaps/RNMGMSPolyline.h} +4 -4
  30. package/ios/{AirGoogleMaps/AIRGMSPolyline.m → GoogleMaps/RNMGMSPolyline.m} +4 -4
  31. package/ios/{AirGoogleMaps/AIRGoogleMap.h → GoogleMaps/RNMGoogleMap.h} +5 -5
  32. package/ios/{AirGoogleMaps/AIRGoogleMap.m → GoogleMaps/RNMGoogleMap.m} +77 -77
  33. package/ios/{AirGoogleMaps/AIRGoogleMapCallout.h → GoogleMaps/RNMGoogleMapCallout.h} +3 -3
  34. package/ios/{AirGoogleMaps/AIRGoogleMapCallout.m → GoogleMaps/RNMGoogleMapCallout.m} +4 -4
  35. package/ios/{AirGoogleMaps/AIRGoogleMapCalloutManager.h → GoogleMaps/RNMGoogleMapCalloutManager.h} +3 -3
  36. package/ios/{AirGoogleMaps/AIRGoogleMapCalloutManager.m → GoogleMaps/RNMGoogleMapCalloutManager.m} +7 -7
  37. package/ios/{AirGoogleMaps/AIRGoogleMapCalloutSubview.h → GoogleMaps/RNMGoogleMapCalloutSubview.h} +3 -3
  38. package/ios/{AirGoogleMaps/AIRGoogleMapCalloutSubview.m → GoogleMaps/RNMGoogleMapCalloutSubview.m} +4 -4
  39. package/ios/{AirGoogleMaps/AIRGoogleMapCalloutSubviewManager.h → GoogleMaps/RNMGoogleMapCalloutSubviewManager.h} +3 -3
  40. package/ios/GoogleMaps/RNMGoogleMapCalloutSubviewManager.m +28 -0
  41. package/ios/{AirGoogleMaps/AIRGoogleMapCircle.h → GoogleMaps/RNMGoogleMapCircle.h} +3 -3
  42. package/ios/{AirGoogleMaps/AIRGoogleMapCircle.m → GoogleMaps/RNMGoogleMapCircle.m} +3 -3
  43. package/ios/{AirGoogleMaps/AIRGoogleMapCircleManager.h → GoogleMaps/RNMGoogleMapCircleManager.h} +2 -2
  44. package/ios/{AirGoogleMaps/AIRGoogleMapCircleManager.m → GoogleMaps/RNMGoogleMapCircleManager.m} +7 -7
  45. package/ios/{AirGoogleMaps/AIRGoogleMapHeatmap.h → GoogleMaps/RNMGoogleMapHeatmap.h} +3 -3
  46. package/ios/{AirGoogleMaps/AIRGoogleMapHeatmap.m → GoogleMaps/RNMGoogleMapHeatmap.m} +4 -4
  47. package/ios/GoogleMaps/RNMGoogleMapHeatmapManager.h +11 -0
  48. package/ios/{AirGoogleMaps/AIRGoogleMapHeatmapManager.m → GoogleMaps/RNMGoogleMapHeatmapManager.m} +9 -9
  49. package/ios/{AirGoogleMaps/AIRGoogleMapManager.h → GoogleMaps/RNMGoogleMapManager.h} +3 -3
  50. package/ios/GoogleMaps/RNMGoogleMapManager.m +274 -0
  51. package/ios/{AirGoogleMaps/AIRGoogleMapMarker.h → GoogleMaps/RNMGoogleMapMarker.h} +15 -15
  52. package/ios/{AirGoogleMaps/AIRGoogleMapMarker.m → GoogleMaps/RNMGoogleMapMarker.m} +22 -22
  53. package/ios/{AirGoogleMaps/AIRGoogleMapMarkerManager.h → GoogleMaps/RNMGoogleMapMarkerManager.h} +3 -3
  54. package/ios/{AirGoogleMaps/AIRGoogleMapMarkerManager.m → GoogleMaps/RNMGoogleMapMarkerManager.m} +20 -20
  55. package/ios/{AirGoogleMaps/AIRGoogleMapOverlay.h → GoogleMaps/RNMGoogleMapOverlay.h} +4 -4
  56. package/ios/{AirGoogleMaps/AIRGoogleMapOverlay.m → GoogleMaps/RNMGoogleMapOverlay.m} +4 -4
  57. package/ios/{AirGoogleMaps/AIRGoogleMapOverlayManager.h → GoogleMaps/RNMGoogleMapOverlayManager.h} +2 -2
  58. package/ios/{AirGoogleMaps/AIRGoogleMapOverlayManager.m → GoogleMaps/RNMGoogleMapOverlayManager.m} +6 -6
  59. package/ios/{AirGoogleMaps/AIRGoogleMapPolygon.h → GoogleMaps/RNMGoogleMapPolygon.h} +7 -7
  60. package/ios/{AirGoogleMaps/AIRGoogleMapPolygon.m → GoogleMaps/RNMGoogleMapPolygon.m} +7 -7
  61. package/ios/{AirGoogleMaps/AIRGoogleMapPolylineManager.h → GoogleMaps/RNMGoogleMapPolygonManager.h} +2 -2
  62. package/ios/{AirGoogleMaps/AIRGoogleMapPolygonManager.m → GoogleMaps/RNMGoogleMapPolygonManager.m} +10 -10
  63. package/ios/{AirGoogleMaps/AIRGoogleMapPolyline.h → GoogleMaps/RNMGoogleMapPolyline.h} +7 -7
  64. package/ios/{AirGoogleMaps/AIRGoogleMapPolyline.m → GoogleMaps/RNMGoogleMapPolyline.m} +9 -9
  65. package/ios/{AirGoogleMaps/AIRGoogleMapPolygonManager.h → GoogleMaps/RNMGoogleMapPolylineManager.h} +2 -2
  66. package/ios/{AirGoogleMaps/AIRGoogleMapPolylineManager.m → GoogleMaps/RNMGoogleMapPolylineManager.m} +9 -9
  67. package/ios/{AirGoogleMaps/AIRGoogleMapUrlTile.h → GoogleMaps/RNMGoogleMapUrlTile.h} +2 -2
  68. package/ios/{AirGoogleMaps/AIRGoogleMapUrlTile.m → GoogleMaps/RNMGoogleMapUrlTile.m} +3 -3
  69. package/ios/{AirGoogleMaps/AIRGoogleMapUrlTileManager.h → GoogleMaps/RNMGoogleMapUrlTileManager.h} +2 -2
  70. package/ios/{AirGoogleMaps/AIRGoogleMapURLTileManager.m → GoogleMaps/RNMGoogleMapUrlTileManager.m} +7 -7
  71. package/ios/GoogleMaps/RNMGoogleMapViewModule.h +5 -0
  72. package/ios/GoogleMaps/RNMGoogleMapViewModule.m +380 -0
  73. package/ios/{AirGoogleMaps/AIRGoogleMapWMSTile.h → GoogleMaps/RNMGoogleMapWMSTile.h} +3 -3
  74. package/ios/{AirGoogleMaps/AIRGoogleMapWMSTile.m → GoogleMaps/RNMGoogleMapWMSTile.m} +4 -4
  75. package/ios/{AirGoogleMaps/AIRGoogleMapWMSTileManager.h → GoogleMaps/RNMGoogleMapWMSTileManager.h} +3 -3
  76. package/ios/{AirGoogleMaps/AIRGoogleMapWMSTileManager.m → GoogleMaps/RNMGoogleMapWMSTileManager.m} +8 -8
  77. package/ios/{AirMaps → Maps}/Callout/SMCalloutView.h +4 -4
  78. package/ios/{AirMaps/RCTConvert+AirMap.h → Maps/RCTConvert+RNMMap.h} +1 -1
  79. package/ios/{AirMaps/RCTConvert+AirMap.m → Maps/RCTConvert+RNMMap.m} +8 -8
  80. package/ios/{AirMaps/AIRMap.h → Maps/RNMMap.h} +8 -8
  81. package/ios/{AirMaps/AIRMap.m → Maps/RNMMap.m} +56 -56
  82. package/ios/{AirMaps/AIRMapCallout.h → Maps/RNMMapCallout.h} +1 -1
  83. package/ios/{AirMaps/AIRMapCallout.m → Maps/RNMMapCallout.m} +2 -2
  84. package/ios/{AirMaps/AIRMapCircleManager.h → Maps/RNMMapCalloutManager.h} +2 -2
  85. package/ios/{AirMaps/AIRMapCalloutManager.m → Maps/RNMMapCalloutManager.m} +7 -7
  86. package/ios/{AirMaps/AIRMapCalloutSubview.h → Maps/RNMMapCalloutSubview.h} +3 -3
  87. package/ios/{AirMaps/AIRMapCalloutSubview.m → Maps/RNMMapCalloutSubview.m} +4 -4
  88. package/ios/Maps/RNMMapCalloutSubviewManager.h +14 -0
  89. package/ios/Maps/RNMMapCalloutSubviewManager.m +24 -0
  90. package/ios/{AirMaps/AIRMapCircle.h → Maps/RNMMapCircle.h} +5 -5
  91. package/ios/{AirMaps/AIRMapCircle.m → Maps/RNMMapCircle.m} +3 -3
  92. package/ios/{AirMaps/AIRMapCalloutManager.h → Maps/RNMMapCircleManager.h} +2 -2
  93. package/ios/{AirMaps/AIRMapCircleManager.m → Maps/RNMMapCircleManager.m} +7 -7
  94. package/ios/{AirMaps/AIRMapCoordinate.h → Maps/RNMMapCoordinate.h} +2 -2
  95. package/ios/{AirMaps/AIRMapCoordinate.m → Maps/RNMMapCoordinate.m} +3 -3
  96. package/ios/{AirMaps/AIRMapLocalTile.h → Maps/RNMMapLocalTile.h} +7 -7
  97. package/ios/{AirMaps/AIRMapLocalTile.m → Maps/RNMMapLocalTile.m} +6 -6
  98. package/ios/{AirMaps/AIRMapLocalTileManager.h → Maps/RNMMapLocalTileManager.h} +3 -3
  99. package/ios/{AirMaps/AIRMapLocalTileManager.m → Maps/RNMMapLocalTileManager.m} +9 -9
  100. package/ios/{AirMaps/AIRMapLocalTileOverlay.h → Maps/RNMMapLocalTileOverlay.h} +2 -2
  101. package/ios/{AirMaps/AIRMapLocalTileOverlay.m → Maps/RNMMapLocalTileOverlay.m} +5 -5
  102. package/ios/{AirMaps/AIRMapManager.h → Maps/RNMMapManager.h} +6 -6
  103. package/ios/Maps/RNMMapManager.m +857 -0
  104. package/ios/{AirMaps/AIRMapMarker.h → Maps/RNMMapMarker.h} +8 -8
  105. package/ios/{AirMaps/AIRMapMarker.m → Maps/RNMMapMarker.m} +13 -13
  106. package/ios/{AirMaps/AIRMapMarkerManager.h → Maps/RNMMapMarkerManager.h} +1 -1
  107. package/ios/{AirMaps/AIRMapMarkerManager.m → Maps/RNMMapMarkerManager.m} +14 -14
  108. package/ios/{AirMaps/AIRMapOverlay.h → Maps/RNMMapOverlay.h} +7 -7
  109. package/ios/{AirMaps/AIRMapOverlay.m → Maps/RNMMapOverlay.m} +4 -4
  110. package/ios/Maps/RNMMapOverlayManager.h +5 -0
  111. package/ios/{AirMaps/AIRMapOverlayManager.m → Maps/RNMMapOverlayManager.m} +6 -6
  112. package/ios/{AirMaps/AIRMapOverlayRenderer.h → Maps/RNMMapOverlayRenderer.h} +1 -1
  113. package/ios/{AirMaps/AIRMapOverlayRenderer.m → Maps/RNMMapOverlayRenderer.m} +5 -5
  114. package/ios/{AirMaps/AIRMapPolygon.h → Maps/RNMMapPolygon.h} +7 -7
  115. package/ios/{AirMaps/AIRMapPolygon.m → Maps/RNMMapPolygon.m} +4 -4
  116. package/ios/{AirMaps/AIRMapPolygonManager.h → Maps/RNMMapPolygonManager.h} +2 -2
  117. package/ios/{AirMaps/AIRMapPolygonManager.m → Maps/RNMMapPolygonManager.m} +10 -10
  118. package/ios/{AirMaps/AIRMapPolyline.h → Maps/RNMMapPolyline.h} +6 -6
  119. package/ios/{AirMaps/AIRMapPolyline.m → Maps/RNMMapPolyline.m} +11 -11
  120. package/ios/{AirMaps/AIRMapPolylineManager.h → Maps/RNMMapPolylineManager.h} +2 -2
  121. package/ios/{AirMaps/AIRMapPolylineManager.m → Maps/RNMMapPolylineManager.m} +9 -9
  122. package/ios/{AirMaps/AIRMapPolylineRenderer.h → Maps/RNMMapPolylineRenderer.h} +2 -2
  123. package/ios/{AirMaps/AIRMapPolylineRenderer.m → Maps/RNMMapPolylineRenderer.m} +10 -10
  124. package/ios/{AirMaps/AIRMapSnapshot.h → Maps/RNMMapSnapshot.h} +6 -6
  125. package/ios/{AirMaps/AIRMapUrlTile.h → Maps/RNMMapUrlTile.h} +18 -18
  126. package/ios/{AirMaps/AIRMapUrlTile.m → Maps/RNMMapUrlTile.m} +7 -7
  127. package/ios/{AirMaps/AIRMapUrlTileCachedOverlay.h → Maps/RNMMapUrlTileCachedOverlay.h} +3 -3
  128. package/ios/{AirMaps/AIRMapUrlTileCachedOverlay.m → Maps/RNMMapUrlTileCachedOverlay.m} +10 -10
  129. package/ios/{AirMaps/AIRMapUrlTileManager.h → Maps/RNMMapUrlTileManager.h} +3 -3
  130. package/ios/{AirMaps/AIRMapUrlTileManager.m → Maps/RNMMapUrlTileManager.m} +9 -9
  131. package/ios/Maps/RNMMapViewModule.h +5 -0
  132. package/ios/Maps/RNMMapViewModule.m +459 -0
  133. package/ios/{AirMaps/AIRMapWMSTile.h → Maps/RNMMapWMSTile.h} +11 -11
  134. package/ios/{AirMaps/AIRMapWMSTile.m → Maps/RNMMapWMSTile.m} +15 -15
  135. package/ios/{AirMaps/AIRMapWMSTileManager.h → Maps/RNMMapWMSTileManager.h} +3 -3
  136. package/ios/{AirMaps/AIRMapWMSTileManager.m → Maps/RNMMapWMSTileManager.m} +9 -9
  137. package/ios/RNMaps.xcodeproj/project.pbxproj +647 -0
  138. package/lib/MapCallout.js +2 -2
  139. package/lib/MapCalloutSubview.js +2 -2
  140. package/lib/MapCircle.js +2 -2
  141. package/lib/MapHeatmap.js +2 -2
  142. package/lib/MapLocalTile.js +2 -2
  143. package/lib/MapMarker.js +2 -2
  144. package/lib/MapOverlay.js +2 -2
  145. package/lib/MapPolygon.js +2 -2
  146. package/lib/MapPolyline.js +2 -2
  147. package/lib/MapUrlTile.js +2 -2
  148. package/lib/MapView.d.ts +7 -8
  149. package/lib/MapView.js +89 -97
  150. package/lib/MapView.types.d.ts +8 -2
  151. package/lib/MapViewNativeComponent.d.ts +2 -7
  152. package/lib/MapViewNativeComponent.js +0 -5
  153. package/lib/MapWMSTile.js +2 -2
  154. package/lib/NativeGoogleMapViewModule.d.ts +25 -0
  155. package/lib/NativeGoogleMapViewModule.js +4 -0
  156. package/lib/NativeMapViewModule.d.ts +29 -0
  157. package/lib/NativeMapViewModule.js +4 -0
  158. package/lib/decorateMapComponent.d.ts +1 -1
  159. package/lib/decorateMapComponent.js +3 -3
  160. package/package.json +1 -1
  161. package/react-native-google-maps.podspec +1 -1
  162. package/react-native-maps.podspec +1 -1
  163. package/android/src/main/java/com/rnmaps/maps/MapModule.java +0 -380
  164. package/ios/AirGoogleMaps/AIRGoogleMapCalloutSubviewManager.m +0 -28
  165. package/ios/AirGoogleMaps/AIRGoogleMapHeatmapManager.h +0 -11
  166. package/ios/AirGoogleMaps/AIRGoogleMapManager.m +0 -597
  167. package/ios/AirMaps/AIRMapCalloutSubviewManager.h +0 -14
  168. package/ios/AirMaps/AIRMapCalloutSubviewManager.m +0 -24
  169. package/ios/AirMaps/AIRMapManager.m +0 -1253
  170. package/ios/AirMaps/AIRMapOverlayManager.h +0 -5
  171. package/ios/AirMaps/AIRWeakMapReference.h +0 -24
  172. package/ios/AirMaps/AIRWeakMapReference.m +0 -23
  173. package/ios/AirMaps/AIRWeakTimerReference.h +0 -21
  174. package/ios/AirMaps/AIRWeakTimerReference.m +0 -42
  175. package/ios/AirMaps.xcodeproj/project.pbxproj +0 -587
  176. /package/ios/{AirGoogleMaps → GoogleMaps}/RCTConvert+GMSMapViewType.h +0 -0
  177. /package/ios/{AirGoogleMaps → GoogleMaps}/RCTConvert+GMSMapViewType.m +0 -0
  178. /package/ios/{AirMaps → Maps}/Callout/SMCalloutView.m +0 -0
@@ -1,597 +0,0 @@
1
- //
2
- // AIRGoogleMapManager.m
3
- // AirMaps
4
- //
5
- // Created by Gil Birman on 9/1/16.
6
- //
7
-
8
- #ifdef HAVE_GOOGLE_MAPS
9
-
10
-
11
- #import "AIRGoogleMapManager.h"
12
- #import <React/RCTViewManager.h>
13
- #import <React/RCTBridge.h>
14
- #import <React/RCTUIManager.h>
15
- #import <React/RCTConvert+CoreLocation.h>
16
- #import <React/RCTEventDispatcher.h>
17
- #import <React/RCTViewManager.h>
18
- #import <React/RCTConvert.h>
19
- #import <React/UIView+React.h>
20
- #import "RCTConvert+GMSMapViewType.h"
21
- #import "AIRGoogleMap.h"
22
- #import "AIRMapMarker.h"
23
- #import "AIRMapPolyline.h"
24
- #import "AIRMapPolygon.h"
25
- #import "AIRMapCircle.h"
26
- #import "SMCalloutView.h"
27
- #import "AIRGoogleMapMarker.h"
28
- #import "RCTConvert+AirMap.h"
29
-
30
- #import <MapKit/MapKit.h>
31
- #import <QuartzCore/QuartzCore.h>
32
-
33
- static NSString *const RCTMapViewKey = @"MapView";
34
-
35
-
36
- @interface AIRGoogleMapManager() <GMSMapViewDelegate>
37
- {
38
- BOOL didCallOnMapReady;
39
- }
40
- @end
41
-
42
- @implementation AIRGoogleMapManager
43
-
44
- RCT_EXPORT_MODULE()
45
-
46
- - (UIView *)view
47
- {
48
- [GMSServices setMetalRendererEnabled:YES];
49
-
50
- AIRGoogleMap *map = [AIRGoogleMap new];
51
- map.bridge = self.bridge;
52
- map.delegate = self;
53
- map.isAccessibilityElement = NO;
54
- map.accessibilityElementsHidden = NO;
55
- map.settings.consumesGesturesInView = NO;
56
-
57
- UIPanGestureRecognizer *drag = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handleMapDrag:)];
58
- [drag setMinimumNumberOfTouches:1];
59
- [drag setMaximumNumberOfTouches:1];
60
- [map addGestureRecognizer:drag];
61
-
62
- UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handleMapDrag:)];
63
- [map addGestureRecognizer:pinch];
64
-
65
- return map;
66
- }
67
-
68
- RCT_EXPORT_VIEW_PROPERTY(isAccessibilityElement, BOOL)
69
- RCT_REMAP_VIEW_PROPERTY(testID, accessibilityIdentifier, NSString)
70
- RCT_EXPORT_VIEW_PROPERTY(initialCamera, GMSCameraPosition)
71
- RCT_REMAP_VIEW_PROPERTY(camera, cameraProp, GMSCameraPosition)
72
- RCT_EXPORT_VIEW_PROPERTY(initialRegion, MKCoordinateRegion)
73
- RCT_EXPORT_VIEW_PROPERTY(region, MKCoordinateRegion)
74
- RCT_EXPORT_VIEW_PROPERTY(showsBuildings, BOOL)
75
- RCT_EXPORT_VIEW_PROPERTY(showsCompass, BOOL)
76
- //RCT_EXPORT_VIEW_PROPERTY(showsScale, BOOL) // Not supported by GoogleMaps
77
- RCT_EXPORT_VIEW_PROPERTY(showsTraffic, BOOL)
78
- RCT_EXPORT_VIEW_PROPERTY(zoomEnabled, BOOL)
79
- RCT_EXPORT_VIEW_PROPERTY(rotateEnabled, BOOL)
80
- RCT_EXPORT_VIEW_PROPERTY(scrollEnabled, BOOL)
81
- RCT_EXPORT_VIEW_PROPERTY(scrollDuringRotateOrZoomEnabled, BOOL)
82
- RCT_EXPORT_VIEW_PROPERTY(pitchEnabled, BOOL)
83
- RCT_EXPORT_VIEW_PROPERTY(zoomTapEnabled, BOOL)
84
- RCT_EXPORT_VIEW_PROPERTY(showsUserLocation, BOOL)
85
- RCT_EXPORT_VIEW_PROPERTY(showsMyLocationButton, BOOL)
86
- RCT_EXPORT_VIEW_PROPERTY(showsIndoors, BOOL)
87
- RCT_EXPORT_VIEW_PROPERTY(showsIndoorLevelPicker, BOOL)
88
- RCT_EXPORT_VIEW_PROPERTY(customMapStyleString, NSString)
89
- RCT_EXPORT_VIEW_PROPERTY(mapPadding, UIEdgeInsets)
90
- RCT_REMAP_VIEW_PROPERTY(paddingAdjustmentBehavior, paddingAdjustmentBehaviorString, NSString)
91
- RCT_EXPORT_VIEW_PROPERTY(onMapReady, RCTBubblingEventBlock)
92
- RCT_EXPORT_VIEW_PROPERTY(onMapLoaded, RCTBubblingEventBlock)
93
- RCT_EXPORT_VIEW_PROPERTY(onKmlReady, RCTBubblingEventBlock)
94
- RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
95
- RCT_EXPORT_VIEW_PROPERTY(onLongPress, RCTBubblingEventBlock)
96
- RCT_EXPORT_VIEW_PROPERTY(onPanDrag, RCTBubblingEventBlock)
97
- RCT_EXPORT_VIEW_PROPERTY(onUserLocationChange, RCTBubblingEventBlock)
98
- RCT_EXPORT_VIEW_PROPERTY(onChange, RCTBubblingEventBlock)
99
- RCT_EXPORT_VIEW_PROPERTY(onMarkerPress, RCTDirectEventBlock)
100
- RCT_EXPORT_VIEW_PROPERTY(onRegionChange, RCTDirectEventBlock)
101
- RCT_EXPORT_VIEW_PROPERTY(onRegionChangeComplete, RCTDirectEventBlock)
102
- RCT_EXPORT_VIEW_PROPERTY(onPoiClick, RCTDirectEventBlock)
103
- RCT_EXPORT_VIEW_PROPERTY(onIndoorLevelActivated, RCTDirectEventBlock)
104
- RCT_EXPORT_VIEW_PROPERTY(onIndoorBuildingFocused, RCTDirectEventBlock)
105
- RCT_EXPORT_VIEW_PROPERTY(mapType, GMSMapViewType)
106
- RCT_EXPORT_VIEW_PROPERTY(minZoomLevel, CGFloat)
107
- RCT_EXPORT_VIEW_PROPERTY(maxZoomLevel, CGFloat)
108
- RCT_EXPORT_VIEW_PROPERTY(kmlSrc, NSString)
109
-
110
- RCT_EXPORT_METHOD(getCamera:(nonnull NSNumber *)reactTag
111
- resolver: (RCTPromiseResolveBlock)resolve
112
- rejecter:(RCTPromiseRejectBlock)reject)
113
- {
114
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
115
- id view = viewRegistry[reactTag];
116
- if (![view isKindOfClass:[AIRGoogleMap class]]) {
117
- reject(@"Invalid argument", [NSString stringWithFormat:@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view], NULL);
118
- } else {
119
- AIRGoogleMap *mapView = (AIRGoogleMap *)view;
120
- resolve(@{
121
- @"center": @{
122
- @"latitude": @(mapView.camera.target.latitude),
123
- @"longitude": @(mapView.camera.target.longitude),
124
- },
125
- @"pitch": @(mapView.camera.viewingAngle),
126
- @"heading": @(mapView.camera.bearing),
127
- @"zoom": @(mapView.camera.zoom),
128
- });
129
- }
130
- }];
131
- }
132
-
133
- RCT_EXPORT_METHOD(setCamera:(nonnull NSNumber *)reactTag
134
- camera:(id)json)
135
- {
136
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
137
- id view = viewRegistry[reactTag];
138
- if (![view isKindOfClass:[AIRGoogleMap class]]) {
139
- RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
140
- } else {
141
- AIRGoogleMap *mapView = (AIRGoogleMap *)view;
142
- GMSCameraPosition *camera = [RCTConvert GMSCameraPositionWithDefaults:json existingCamera:[mapView camera]];
143
- [mapView setCamera:camera];
144
- }
145
- }];
146
- }
147
-
148
-
149
- RCT_EXPORT_METHOD(animateCamera:(nonnull NSNumber *)reactTag
150
- withCamera:(id)json
151
- withDuration:(CGFloat)duration)
152
- {
153
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
154
- id view = viewRegistry[reactTag];
155
- if (![view isKindOfClass:[AIRGoogleMap class]]) {
156
- RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
157
- } else {
158
- [CATransaction begin];
159
- [CATransaction setAnimationDuration:duration/1000];
160
- AIRGoogleMap *mapView = (AIRGoogleMap *)view;
161
- GMSCameraPosition *camera = [RCTConvert GMSCameraPositionWithDefaults:json existingCamera:[mapView camera]];
162
- [mapView animateToCameraPosition:camera];
163
- [CATransaction commit];
164
- }
165
- }];
166
- }
167
-
168
- RCT_EXPORT_METHOD(animateToRegion:(nonnull NSNumber *)reactTag
169
- withRegion:(MKCoordinateRegion)region
170
- withDuration:(CGFloat)duration)
171
- {
172
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
173
- id view = viewRegistry[reactTag];
174
- if (![view isKindOfClass:[AIRGoogleMap class]]) {
175
- RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
176
- } else {
177
- // Core Animation must be used to control the animation's duration
178
- // See http://stackoverflow.com/a/15663039/171744
179
- [CATransaction begin];
180
- [CATransaction setAnimationDuration:duration/1000];
181
- AIRGoogleMap *mapView = (AIRGoogleMap *)view;
182
- GMSCameraPosition *camera = [AIRGoogleMap makeGMSCameraPositionFromMap:mapView andMKCoordinateRegion:region];
183
- [mapView animateToCameraPosition:camera];
184
- [CATransaction commit];
185
- }
186
- }];
187
- }
188
-
189
- RCT_EXPORT_METHOD(fitToElements:(nonnull NSNumber *)reactTag
190
- edgePadding:(nonnull NSDictionary *)edgePadding
191
- animated:(BOOL)animated)
192
- {
193
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
194
- id view = viewRegistry[reactTag];
195
- if (![view isKindOfClass:[AIRGoogleMap class]]) {
196
- RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
197
- } else {
198
- AIRGoogleMap *mapView = (AIRGoogleMap *)view;
199
-
200
- CLLocationCoordinate2D myLocation = ((AIRGoogleMapMarker *)(mapView.markers.firstObject)).realMarker.position;
201
- GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:myLocation coordinate:myLocation];
202
-
203
- for (AIRGoogleMapMarker *marker in mapView.markers)
204
- bounds = [bounds includingCoordinate:marker.realMarker.position];
205
-
206
- GMSCameraUpdate* cameraUpdate;
207
-
208
- if ([edgePadding count] != 0) {
209
- // Set Map viewport
210
- CGFloat top = [RCTConvert CGFloat:edgePadding[@"top"]];
211
- CGFloat right = [RCTConvert CGFloat:edgePadding[@"right"]];
212
- CGFloat bottom = [RCTConvert CGFloat:edgePadding[@"bottom"]];
213
- CGFloat left = [RCTConvert CGFloat:edgePadding[@"left"]];
214
-
215
- cameraUpdate = [GMSCameraUpdate fitBounds:bounds withEdgeInsets:UIEdgeInsetsMake(top, left, bottom, right)];
216
- } else {
217
- cameraUpdate = [GMSCameraUpdate fitBounds:bounds withPadding:55.0f];
218
- }
219
- if (animated) {
220
- [mapView animateWithCameraUpdate: cameraUpdate];
221
- } else {
222
- [mapView moveCamera: cameraUpdate];
223
- }
224
- }
225
- }];
226
- }
227
-
228
- RCT_EXPORT_METHOD(fitToSuppliedMarkers:(nonnull NSNumber *)reactTag
229
- markers:(nonnull NSArray *)markers
230
- edgePadding:(nonnull NSDictionary *)edgePadding
231
- animated:(BOOL)animated)
232
- {
233
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
234
- id view = viewRegistry[reactTag];
235
- if (![view isKindOfClass:[AIRGoogleMap class]]) {
236
- RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
237
- } else {
238
- AIRGoogleMap *mapView = (AIRGoogleMap *)view;
239
-
240
- NSPredicate *filterMarkers = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {
241
- AIRGoogleMapMarker *marker = (AIRGoogleMapMarker *)evaluatedObject;
242
- return [marker isKindOfClass:[AIRGoogleMapMarker class]] && [markers containsObject:marker.identifier];
243
- }];
244
-
245
- NSArray *filteredMarkers = [mapView.markers filteredArrayUsingPredicate:filterMarkers];
246
-
247
- CLLocationCoordinate2D myLocation = ((AIRGoogleMapMarker *)(filteredMarkers.firstObject)).realMarker.position;
248
- GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:myLocation coordinate:myLocation];
249
-
250
- for (AIRGoogleMapMarker *marker in filteredMarkers)
251
- bounds = [bounds includingCoordinate:marker.realMarker.position];
252
-
253
- // Set Map viewport
254
- CGFloat top = [RCTConvert CGFloat:edgePadding[@"top"]];
255
- CGFloat right = [RCTConvert CGFloat:edgePadding[@"right"]];
256
- CGFloat bottom = [RCTConvert CGFloat:edgePadding[@"bottom"]];
257
- CGFloat left = [RCTConvert CGFloat:edgePadding[@"left"]];
258
-
259
- GMSCameraUpdate* cameraUpdate = [GMSCameraUpdate fitBounds:bounds withEdgeInsets:UIEdgeInsetsMake(top, left, bottom, right)];
260
- if (animated) {
261
- [mapView animateWithCameraUpdate:cameraUpdate
262
- ];
263
- } else {
264
- [mapView moveCamera: cameraUpdate];
265
- }
266
- }
267
- }];
268
- }
269
-
270
- RCT_EXPORT_METHOD(fitToCoordinates:(nonnull NSNumber *)reactTag
271
- coordinates:(nonnull NSArray<AIRMapCoordinate *> *)coordinates
272
- edgePadding:(nonnull NSDictionary *)edgePadding
273
- animated:(BOOL)animated)
274
- {
275
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
276
- id view = viewRegistry[reactTag];
277
- if (![view isKindOfClass:[AIRGoogleMap class]]) {
278
- RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
279
- } else {
280
- AIRGoogleMap *mapView = (AIRGoogleMap *)view;
281
-
282
- CLLocationCoordinate2D myLocation = coordinates.firstObject.coordinate;
283
- GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:myLocation coordinate:myLocation];
284
-
285
- for (AIRMapCoordinate *coordinate in coordinates)
286
- bounds = [bounds includingCoordinate:coordinate.coordinate];
287
-
288
- // Set Map viewport
289
- CGFloat top = [RCTConvert CGFloat:edgePadding[@"top"]];
290
- CGFloat right = [RCTConvert CGFloat:edgePadding[@"right"]];
291
- CGFloat bottom = [RCTConvert CGFloat:edgePadding[@"bottom"]];
292
- CGFloat left = [RCTConvert CGFloat:edgePadding[@"left"]];
293
-
294
- GMSCameraUpdate *cameraUpdate = [GMSCameraUpdate fitBounds:bounds withEdgeInsets:UIEdgeInsetsMake(top, left, bottom, right)];
295
-
296
- if (animated) {
297
- [mapView animateWithCameraUpdate: cameraUpdate];
298
- } else {
299
- [mapView moveCamera: cameraUpdate];
300
- }
301
- }
302
- }];
303
- }
304
-
305
- RCT_EXPORT_METHOD(takeSnapshot:(nonnull NSNumber *)reactTag
306
- withWidth:(nonnull NSNumber *)width
307
- withHeight:(nonnull NSNumber *)height
308
- withRegion:(MKCoordinateRegion)region
309
- format:(nonnull NSString *)format
310
- quality:(nonnull NSNumber *)quality
311
- result:(nonnull NSString *)result
312
- withCallback:(RCTResponseSenderBlock)callback)
313
- {
314
- NSTimeInterval timeStamp = [[NSDate date] timeIntervalSince1970];
315
- NSString *pathComponent = [NSString stringWithFormat:@"Documents/snapshot-%.20lf.%@", timeStamp, format];
316
- NSString *filePath = [NSHomeDirectory() stringByAppendingPathComponent: pathComponent];
317
-
318
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
319
- id view = viewRegistry[reactTag];
320
- if (![view isKindOfClass:[AIRGoogleMap class]]) {
321
- RCTLogError(@"Invalid view returned from registry, expecting AIRMap, got: %@", view);
322
- } else {
323
- AIRGoogleMap *mapView = (AIRGoogleMap *)view;
324
-
325
- // TODO: currently we are ignoring width, height, region
326
-
327
- UIGraphicsBeginImageContextWithOptions(mapView.frame.size, YES, 0.0f);
328
- [mapView.layer renderInContext:UIGraphicsGetCurrentContext()];
329
- UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
330
-
331
- NSData *data;
332
- if ([format isEqualToString:@"png"]) {
333
- data = UIImagePNGRepresentation(image);
334
-
335
- }
336
- else if([format isEqualToString:@"jpg"]) {
337
- data = UIImageJPEGRepresentation(image, quality.floatValue);
338
- }
339
-
340
- if ([result isEqualToString:@"file"]) {
341
- [data writeToFile:filePath atomically:YES];
342
- callback(@[[NSNull null], filePath]);
343
- }
344
- else if ([result isEqualToString:@"base64"]) {
345
- callback(@[[NSNull null], [data base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithCarriageReturn]]);
346
- }
347
- }
348
- UIGraphicsEndImageContext();
349
- }];
350
- }
351
-
352
- RCT_EXPORT_METHOD(pointForCoordinate:(nonnull NSNumber *)reactTag
353
- coordinate:(NSDictionary *)coordinate
354
- resolver: (RCTPromiseResolveBlock)resolve
355
- rejecter:(RCTPromiseRejectBlock)reject)
356
- {
357
- CLLocationCoordinate2D coord =
358
- CLLocationCoordinate2DMake(
359
- [coordinate[@"latitude"] doubleValue],
360
- [coordinate[@"longitude"] doubleValue]
361
- );
362
-
363
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
364
- id view = viewRegistry[reactTag];
365
- if (![view isKindOfClass:[AIRGoogleMap class]]) {
366
- RCTLogError(@"Invalid view returned from registry, expecting AIRMap, got: %@", view);
367
- } else {
368
- AIRGoogleMap *mapView = (AIRGoogleMap *)view;
369
-
370
- CGPoint touchPoint = [mapView.projection pointForCoordinate:coord];
371
-
372
- resolve(@{
373
- @"x": @(touchPoint.x),
374
- @"y": @(touchPoint.y),
375
- });
376
- }
377
- }];
378
- }
379
-
380
- RCT_EXPORT_METHOD(coordinateForPoint:(nonnull NSNumber *)reactTag
381
- point:(NSDictionary *)point
382
- resolver: (RCTPromiseResolveBlock)resolve
383
- rejecter:(RCTPromiseRejectBlock)reject)
384
- {
385
- CGPoint pt = CGPointMake(
386
- [point[@"x"] doubleValue],
387
- [point[@"y"] doubleValue]
388
- );
389
-
390
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
391
- id view = viewRegistry[reactTag];
392
- if (![view isKindOfClass:[AIRGoogleMap class]]) {
393
- RCTLogError(@"Invalid view returned from registry, expecting AIRMap, got: %@", view);
394
- } else {
395
- AIRGoogleMap *mapView = (AIRGoogleMap *)view;
396
-
397
- CLLocationCoordinate2D coordinate = [mapView.projection coordinateForPoint:pt];
398
-
399
- resolve(@{
400
- @"latitude": @(coordinate.latitude),
401
- @"longitude": @(coordinate.longitude),
402
- });
403
- }
404
- }];
405
- }
406
-
407
- RCT_EXPORT_METHOD(getMarkersFrames:(nonnull NSNumber *)reactTag
408
- onlyVisible:(BOOL)onlyVisible
409
- resolver: (RCTPromiseResolveBlock)resolve
410
- rejecter:(RCTPromiseRejectBlock)reject)
411
- {
412
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
413
- id view = viewRegistry[reactTag];
414
- if (![view isKindOfClass:[AIRGoogleMap class]]) {
415
- RCTLogError(@"Invalid view returned from registry, expecting AIRMap, got: %@", view);
416
- } else {
417
- AIRGoogleMap *mapView = (AIRGoogleMap *)view;
418
- resolve([mapView getMarkersFramesWithOnlyVisible:onlyVisible]);
419
- }
420
- }];
421
- }
422
-
423
- RCT_EXPORT_METHOD(getMapBoundaries:(nonnull NSNumber *)reactTag
424
- resolver:(RCTPromiseResolveBlock)resolve
425
- rejecter:(RCTPromiseRejectBlock)reject)
426
- {
427
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
428
- id view = viewRegistry[reactTag];
429
- if (![view isKindOfClass:[AIRGoogleMap class]]) {
430
- RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
431
- } else {
432
- NSArray *boundingBox = [view getMapBoundaries];
433
-
434
- resolve(@{
435
- @"northEast" : @{
436
- @"longitude" : boundingBox[0][0],
437
- @"latitude" : boundingBox[0][1]
438
- },
439
- @"southWest" : @{
440
- @"longitude" : boundingBox[1][0],
441
- @"latitude" : boundingBox[1][1]
442
- }
443
- });
444
- }
445
- }];
446
- }
447
-
448
- RCT_EXPORT_METHOD(setMapBoundaries:(nonnull NSNumber *)reactTag
449
- northEast:(CLLocationCoordinate2D)northEast
450
- southWest:(CLLocationCoordinate2D)southWest)
451
- {
452
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
453
- id view = viewRegistry[reactTag];
454
- if (![view isKindOfClass:[AIRGoogleMap class]]) {
455
- RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
456
- } else {
457
- AIRGoogleMap *mapView = (AIRGoogleMap *)view;
458
-
459
- GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:northEast coordinate:southWest];
460
-
461
- mapView.cameraTargetBounds = bounds;
462
- }
463
- }];
464
- }
465
-
466
- RCT_EXPORT_METHOD(setIndoorActiveLevelIndex:(nonnull NSNumber *)reactTag
467
- levelIndex:(NSInteger) levelIndex)
468
- {
469
- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
470
- id view = viewRegistry[reactTag];
471
- if (![view isKindOfClass:[AIRGoogleMap class]]) {
472
- RCTLogError(@"Invalid view returned from registry, expecting AIRGoogleMap, got: %@", view);
473
- } else {
474
- AIRGoogleMap *mapView = (AIRGoogleMap *)view;
475
- if (!mapView.indoorDisplay) {
476
- return;
477
- }
478
- if ( levelIndex < [mapView.indoorDisplay.activeBuilding.levels count]) {
479
- mapView.indoorDisplay.activeLevel = mapView.indoorDisplay.activeBuilding.levels[levelIndex];
480
- }
481
- }
482
- }];
483
- }
484
-
485
- + (BOOL)requiresMainQueueSetup {
486
- return YES;
487
- }
488
-
489
- - (NSDictionary *)constantsToExport {
490
- return @{ @"legalNotice": [GMSServices openSourceLicenseInfo] };
491
- }
492
-
493
- - (void)mapView:(GMSMapView *)mapView willMove:(BOOL)gesture{
494
- self.isGesture = gesture;
495
- }
496
-
497
- - (void)mapViewDidStartTileRendering:(GMSMapView *)mapView {
498
- AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
499
- [googleMapView didPrepareMap];
500
- }
501
-
502
- - (void)mapViewDidFinishTileRendering:(GMSMapView *)mapView {
503
- AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
504
- [googleMapView mapViewDidFinishTileRendering];
505
- }
506
-
507
- - (BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker {
508
- AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
509
- return [googleMapView didTapMarker:marker];
510
- }
511
-
512
- - (void)mapView:(GMSMapView *)mapView didTapOverlay:(GMSPolygon *)polygon {
513
- AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
514
- [googleMapView didTapPolygon:polygon];
515
- }
516
-
517
- - (void)mapView:(GMSMapView *)mapView didTapAtCoordinate:(CLLocationCoordinate2D)coordinate {
518
- AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
519
- [googleMapView didTapAtCoordinate:coordinate];
520
- }
521
-
522
- - (void)mapView:(GMSMapView *)mapView didLongPressAtCoordinate:(CLLocationCoordinate2D)coordinate {
523
- AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
524
- [googleMapView didLongPressAtCoordinate:coordinate];
525
- }
526
-
527
- - (void)mapView:(GMSMapView *)mapView didChangeCameraPosition:(GMSCameraPosition *)position {
528
- AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
529
- [googleMapView didChangeCameraPosition:position isGesture:self.isGesture];
530
- }
531
-
532
- - (void)mapView:(GMSMapView *)mapView idleAtCameraPosition:(GMSCameraPosition *)position {
533
- AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
534
- [googleMapView idleAtCameraPosition:position isGesture:self.isGesture];
535
- }
536
-
537
- - (UIView *)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker {
538
- AIRGMSMarker *aMarker = (AIRGMSMarker *)marker;
539
- return [aMarker.fakeMarker markerInfoWindow];}
540
-
541
- - (UIView *)mapView:(GMSMapView *)mapView markerInfoContents:(GMSMarker *)marker {
542
- AIRGMSMarker *aMarker = (AIRGMSMarker *)marker;
543
- return [aMarker.fakeMarker markerInfoContents];
544
- }
545
-
546
- - (void)mapView:(GMSMapView *)mapView didTapInfoWindowOfMarker:(GMSMarker *)marker {
547
- AIRGMSMarker *aMarker = (AIRGMSMarker *)marker;
548
- [aMarker.fakeMarker didTapInfoWindowOfMarker:aMarker];
549
- }
550
-
551
- - (void)mapView:(GMSMapView *)mapView didBeginDraggingMarker:(GMSMarker *)marker {
552
- AIRGMSMarker *aMarker = (AIRGMSMarker *)marker;
553
- [aMarker.fakeMarker didBeginDraggingMarker:aMarker];
554
- }
555
-
556
- - (void)mapView:(GMSMapView *)mapView didEndDraggingMarker:(GMSMarker *)marker {
557
- AIRGMSMarker *aMarker = (AIRGMSMarker *)marker;
558
- [aMarker.fakeMarker didEndDraggingMarker:aMarker];
559
- }
560
-
561
- - (void)mapView:(GMSMapView *)mapView didDragMarker:(GMSMarker *)marker {
562
- AIRGMSMarker *aMarker = (AIRGMSMarker *)marker;
563
- [aMarker.fakeMarker didDragMarker:aMarker];
564
- }
565
-
566
- - (void)mapView:(GMSMapView *)mapView
567
- didTapPOIWithPlaceID:(NSString *)placeID
568
- name:(NSString *)name
569
- location:(CLLocationCoordinate2D)location {
570
- AIRGoogleMap *googleMapView = (AIRGoogleMap *)mapView;
571
- [googleMapView didTapPOIWithPlaceID:placeID name:name location:location];
572
- }
573
-
574
- #pragma mark Gesture Recognizer Handlers
575
-
576
- - (void)handleMapDrag:(UIPanGestureRecognizer*)recognizer {
577
- AIRGoogleMap *map = (AIRGoogleMap *)recognizer.view;
578
- if (!map.onPanDrag) return;
579
-
580
- CGPoint touchPoint = [recognizer locationInView:map];
581
- CLLocationCoordinate2D coord = [map.projection coordinateForPoint:touchPoint];
582
- map.onPanDrag(@{
583
- @"coordinate": @{
584
- @"latitude": @(coord.latitude),
585
- @"longitude": @(coord.longitude),
586
- },
587
- @"position": @{
588
- @"x": @(touchPoint.x),
589
- @"y": @(touchPoint.y),
590
- },
591
- });
592
-
593
- }
594
-
595
- @end
596
-
597
- #endif
@@ -1,14 +0,0 @@
1
- //
2
- // AIRMapCalloutSubviewManager.h
3
- // AirMaps
4
- //
5
- // Created by Denis Oblogin on 10/8/18.
6
- //
7
- //
8
-
9
- #import <React/RCTViewManager.h>
10
-
11
- @interface AIRMapCalloutSubviewManager : RCTViewManager
12
-
13
- @end
14
-
@@ -1,24 +0,0 @@
1
- //
2
- // AIRMapCalloutSubviewManager.m
3
- // AirMaps
4
- //
5
- // Created by Denis Oblogin on 10/8/18.
6
- //
7
- //
8
-
9
- #import "AIRMapCalloutSubviewManager.h"
10
- #import "AIRMapCalloutSubview.h"
11
- #import <React/RCTView.h>
12
-
13
- @implementation AIRMapCalloutSubviewManager
14
- RCT_EXPORT_MODULE()
15
-
16
- - (UIView *)view
17
- {
18
- AIRMapCalloutSubview *calloutSubview = [AIRMapCalloutSubview new];
19
- return calloutSubview;
20
- }
21
-
22
- RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
23
-
24
- @end