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

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 +55 -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
@@ -0,0 +1,268 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GenerateModuleH.js
8
+ */
9
+
10
+ #pragma once
11
+
12
+ #include <ReactCommon/TurboModule.h>
13
+ #include <react/bridging/Bridging.h>
14
+
15
+ namespace facebook::react {
16
+
17
+
18
+
19
+ #pragma mark - NativeAirMapsModuleLatLng
20
+
21
+ template <typename P0, typename P1>
22
+ struct NativeAirMapsModuleLatLng {
23
+ P0 latitude;
24
+ P1 longitude;
25
+ bool operator==(const NativeAirMapsModuleLatLng &other) const {
26
+ return latitude == other.latitude && longitude == other.longitude;
27
+ }
28
+ };
29
+
30
+ template <typename T>
31
+ struct NativeAirMapsModuleLatLngBridging {
32
+ static T types;
33
+
34
+ static T fromJs(
35
+ jsi::Runtime &rt,
36
+ const jsi::Object &value,
37
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
38
+ T result{
39
+ bridging::fromJs<decltype(types.latitude)>(rt, value.getProperty(rt, "latitude"), jsInvoker),
40
+ bridging::fromJs<decltype(types.longitude)>(rt, value.getProperty(rt, "longitude"), jsInvoker)};
41
+ return result;
42
+ }
43
+
44
+ #ifdef DEBUG
45
+ static double latitudeToJs(jsi::Runtime &rt, decltype(types.latitude) value) {
46
+ return bridging::toJs(rt, value);
47
+ }
48
+
49
+ static double longitudeToJs(jsi::Runtime &rt, decltype(types.longitude) value) {
50
+ return bridging::toJs(rt, value);
51
+ }
52
+ #endif
53
+
54
+ static jsi::Object toJs(
55
+ jsi::Runtime &rt,
56
+ const T &value,
57
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
58
+ auto result = facebook::jsi::Object(rt);
59
+ result.setProperty(rt, "latitude", bridging::toJs(rt, value.latitude, jsInvoker));
60
+ result.setProperty(rt, "longitude", bridging::toJs(rt, value.longitude, jsInvoker));
61
+ return result;
62
+ }
63
+ };
64
+
65
+
66
+
67
+ #pragma mark - NativeAirMapsModuleMapBoundaries
68
+
69
+ template <typename P0, typename P1>
70
+ struct NativeAirMapsModuleMapBoundaries {
71
+ P0 northEast;
72
+ P1 southWest;
73
+ bool operator==(const NativeAirMapsModuleMapBoundaries &other) const {
74
+ return northEast == other.northEast && southWest == other.southWest;
75
+ }
76
+ };
77
+
78
+ template <typename T>
79
+ struct NativeAirMapsModuleMapBoundariesBridging {
80
+ static T types;
81
+
82
+ static T fromJs(
83
+ jsi::Runtime &rt,
84
+ const jsi::Object &value,
85
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
86
+ T result{
87
+ bridging::fromJs<decltype(types.northEast)>(rt, value.getProperty(rt, "northEast"), jsInvoker),
88
+ bridging::fromJs<decltype(types.southWest)>(rt, value.getProperty(rt, "southWest"), jsInvoker)};
89
+ return result;
90
+ }
91
+
92
+ #ifdef DEBUG
93
+ static jsi::Object northEastToJs(jsi::Runtime &rt, decltype(types.northEast) value) {
94
+ return bridging::toJs(rt, value);
95
+ }
96
+
97
+ static jsi::Object southWestToJs(jsi::Runtime &rt, decltype(types.southWest) value) {
98
+ return bridging::toJs(rt, value);
99
+ }
100
+ #endif
101
+
102
+ static jsi::Object toJs(
103
+ jsi::Runtime &rt,
104
+ const T &value,
105
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
106
+ auto result = facebook::jsi::Object(rt);
107
+ result.setProperty(rt, "northEast", bridging::toJs(rt, value.northEast, jsInvoker));
108
+ result.setProperty(rt, "southWest", bridging::toJs(rt, value.southWest, jsInvoker));
109
+ return result;
110
+ }
111
+ };
112
+
113
+
114
+
115
+ #pragma mark - NativeAirMapsModulePoint
116
+
117
+ template <typename P0, typename P1>
118
+ struct NativeAirMapsModulePoint {
119
+ P0 x;
120
+ P1 y;
121
+ bool operator==(const NativeAirMapsModulePoint &other) const {
122
+ return x == other.x && y == other.y;
123
+ }
124
+ };
125
+
126
+ template <typename T>
127
+ struct NativeAirMapsModulePointBridging {
128
+ static T types;
129
+
130
+ static T fromJs(
131
+ jsi::Runtime &rt,
132
+ const jsi::Object &value,
133
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
134
+ T result{
135
+ bridging::fromJs<decltype(types.x)>(rt, value.getProperty(rt, "x"), jsInvoker),
136
+ bridging::fromJs<decltype(types.y)>(rt, value.getProperty(rt, "y"), jsInvoker)};
137
+ return result;
138
+ }
139
+
140
+ #ifdef DEBUG
141
+ static double xToJs(jsi::Runtime &rt, decltype(types.x) value) {
142
+ return bridging::toJs(rt, value);
143
+ }
144
+
145
+ static double yToJs(jsi::Runtime &rt, decltype(types.y) value) {
146
+ return bridging::toJs(rt, value);
147
+ }
148
+ #endif
149
+
150
+ static jsi::Object toJs(
151
+ jsi::Runtime &rt,
152
+ const T &value,
153
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
154
+ auto result = facebook::jsi::Object(rt);
155
+ result.setProperty(rt, "x", bridging::toJs(rt, value.x, jsInvoker));
156
+ result.setProperty(rt, "y", bridging::toJs(rt, value.y, jsInvoker));
157
+ return result;
158
+ }
159
+ };
160
+
161
+ class JSI_EXPORT NativeAirMapsModuleCxxSpecJSI : public TurboModule {
162
+ protected:
163
+ NativeAirMapsModuleCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
164
+
165
+ public:
166
+ virtual jsi::Value getCamera(jsi::Runtime &rt, double tag) = 0;
167
+ virtual jsi::Value getMarkersFrames(jsi::Runtime &rt, double tag, bool onlyVisible) = 0;
168
+ virtual jsi::Value getMapBoundaries(jsi::Runtime &rt, double tag) = 0;
169
+ virtual jsi::Value takeSnapshot(jsi::Runtime &rt, double tag, jsi::String config) = 0;
170
+ virtual jsi::Value getAddressFromCoordinates(jsi::Runtime &rt, double tag, jsi::Object coordinate) = 0;
171
+ virtual jsi::Value getPointForCoordinate(jsi::Runtime &rt, double tag, jsi::Object coordinate) = 0;
172
+ virtual jsi::Value getCoordinateForPoint(jsi::Runtime &rt, double tag, jsi::Object point) = 0;
173
+
174
+ };
175
+
176
+ template <typename T>
177
+ class JSI_EXPORT NativeAirMapsModuleCxxSpec : public TurboModule {
178
+ public:
179
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
180
+ return delegate_.create(rt, propName);
181
+ }
182
+
183
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
184
+ return delegate_.getPropertyNames(runtime);
185
+ }
186
+
187
+ static constexpr std::string_view kModuleName = "RNMapsAirModule";
188
+
189
+ protected:
190
+ NativeAirMapsModuleCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
191
+ : TurboModule(std::string{NativeAirMapsModuleCxxSpec::kModuleName}, jsInvoker),
192
+ delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
193
+
194
+
195
+ private:
196
+ class Delegate : public NativeAirMapsModuleCxxSpecJSI {
197
+ public:
198
+ Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
199
+ NativeAirMapsModuleCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
200
+
201
+ }
202
+
203
+ jsi::Value getCamera(jsi::Runtime &rt, double tag) override {
204
+ static_assert(
205
+ bridging::getParameterCount(&T::getCamera) == 2,
206
+ "Expected getCamera(...) to have 2 parameters");
207
+
208
+ return bridging::callFromJs<jsi::Value>(
209
+ rt, &T::getCamera, jsInvoker_, instance_, std::move(tag));
210
+ }
211
+ jsi::Value getMarkersFrames(jsi::Runtime &rt, double tag, bool onlyVisible) override {
212
+ static_assert(
213
+ bridging::getParameterCount(&T::getMarkersFrames) == 3,
214
+ "Expected getMarkersFrames(...) to have 3 parameters");
215
+
216
+ return bridging::callFromJs<jsi::Value>(
217
+ rt, &T::getMarkersFrames, jsInvoker_, instance_, std::move(tag), std::move(onlyVisible));
218
+ }
219
+ jsi::Value getMapBoundaries(jsi::Runtime &rt, double tag) override {
220
+ static_assert(
221
+ bridging::getParameterCount(&T::getMapBoundaries) == 2,
222
+ "Expected getMapBoundaries(...) to have 2 parameters");
223
+
224
+ return bridging::callFromJs<jsi::Value>(
225
+ rt, &T::getMapBoundaries, jsInvoker_, instance_, std::move(tag));
226
+ }
227
+ jsi::Value takeSnapshot(jsi::Runtime &rt, double tag, jsi::String config) override {
228
+ static_assert(
229
+ bridging::getParameterCount(&T::takeSnapshot) == 3,
230
+ "Expected takeSnapshot(...) to have 3 parameters");
231
+
232
+ return bridging::callFromJs<jsi::Value>(
233
+ rt, &T::takeSnapshot, jsInvoker_, instance_, std::move(tag), std::move(config));
234
+ }
235
+ jsi::Value getAddressFromCoordinates(jsi::Runtime &rt, double tag, jsi::Object coordinate) override {
236
+ static_assert(
237
+ bridging::getParameterCount(&T::getAddressFromCoordinates) == 3,
238
+ "Expected getAddressFromCoordinates(...) to have 3 parameters");
239
+
240
+ return bridging::callFromJs<jsi::Value>(
241
+ rt, &T::getAddressFromCoordinates, jsInvoker_, instance_, std::move(tag), std::move(coordinate));
242
+ }
243
+ jsi::Value getPointForCoordinate(jsi::Runtime &rt, double tag, jsi::Object coordinate) override {
244
+ static_assert(
245
+ bridging::getParameterCount(&T::getPointForCoordinate) == 3,
246
+ "Expected getPointForCoordinate(...) to have 3 parameters");
247
+
248
+ return bridging::callFromJs<jsi::Value>(
249
+ rt, &T::getPointForCoordinate, jsInvoker_, instance_, std::move(tag), std::move(coordinate));
250
+ }
251
+ jsi::Value getCoordinateForPoint(jsi::Runtime &rt, double tag, jsi::Object point) override {
252
+ static_assert(
253
+ bridging::getParameterCount(&T::getCoordinateForPoint) == 3,
254
+ "Expected getCoordinateForPoint(...) to have 3 parameters");
255
+
256
+ return bridging::callFromJs<jsi::Value>(
257
+ rt, &T::getCoordinateForPoint, jsInvoker_, instance_, std::move(tag), std::move(point));
258
+ }
259
+
260
+ private:
261
+ friend class NativeAirMapsModuleCxxSpec;
262
+ T *instance_;
263
+ };
264
+
265
+ Delegate delegate_;
266
+ };
267
+
268
+ } // namespace facebook::react
@@ -0,0 +1,34 @@
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ #
3
+ # This source code is licensed under the MIT license found in the
4
+ # LICENSE file in the root directory of this source tree.
5
+
6
+ version = "0.77.2"
7
+ source = { :git => 'https://github.com/facebook/react-native.git' }
8
+ if version == '1000.0.0'
9
+ # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
10
+ source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
11
+ else
12
+ source[:tag] = "v#{version}"
13
+ end
14
+
15
+ Pod::Spec.new do |s|
16
+ s.name = "ReactAppDependencyProvider"
17
+ s.version = version
18
+ s.summary = "The third party dependency provider for the app"
19
+ s.homepage = "https://reactnative.dev/"
20
+ s.documentation_url = "https://reactnative.dev/"
21
+ s.license = "MIT"
22
+ s.author = "Meta Platforms, Inc. and its affiliates"
23
+ s.platforms = min_supported_versions
24
+ s.source = source
25
+ s.source_files = "**/RCTAppDependencyProvider.{h,mm}"
26
+
27
+ # This guard prevent to install the dependencies when we run `pod install` in the old architecture.
28
+ s.pod_target_xcconfig = {
29
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
30
+ "DEFINES_MODULE" => "YES"
31
+ }
32
+
33
+ s.dependency "ReactCodegen"
34
+ end
package/package.json CHANGED
@@ -2,10 +2,10 @@
2
2
  "name": "react-native-maps",
3
3
  "description": "React Native Mapview component for iOS + Android",
4
4
  "source": "src/index",
5
- "main": "lib/index.js",
5
+ "main": "src/index.ts",
6
6
  "author": "Leland Richardson <leland.m.richardson@gmail.com>",
7
7
  "homepage": "https://github.com/react-native-maps/react-native-maps#readme",
8
- "version": "1.21.0-alpha.13",
8
+ "version": "1.21.0-alpha.131",
9
9
  "license": "MIT",
10
10
  "scripts": {
11
11
  "lint": "eslint . --max-warnings 0",
@@ -20,10 +20,13 @@
20
20
  "bootstrap": "yarn --cwd example && yarn && yarn bundle-install && yarn pod-install"
21
21
  },
22
22
  "files": [
23
- "lib",
23
+ "src",
24
24
  "android",
25
25
  "ios",
26
+ "react-native-maps-generated.podspec",
27
+ "react-native-google-maps.podspec",
26
28
  "react-native-maps.podspec",
29
+ "react-native.config.js",
27
30
  "!android/build",
28
31
  "!ios/build",
29
32
  "!**/__tests__",
@@ -44,8 +47,8 @@
44
47
  "mapkit"
45
48
  ],
46
49
  "peerDependencies": {
47
- "react": ">= 17.0.1",
48
- "react-native": ">= 0.64.3",
50
+ "react": ">= 18.3.1",
51
+ "react-native": ">= 0.76.0",
49
52
  "react-native-web": ">= 0.11"
50
53
  },
51
54
  "peerDependenciesMeta": {
@@ -54,30 +57,29 @@
54
57
  }
55
58
  },
56
59
  "devDependencies": {
60
+ "@babel/core": "^7.25.2",
61
+ "@babel/preset-env": "^7.25.3",
62
+ "@babel/runtime": "^7.25.0",
57
63
  "@commitlint/cli": "17.6.1",
58
64
  "@commitlint/config-conventional": "17.6.1",
65
+ "@react-native-community/cli": "15.0.1",
66
+ "@react-native/babel-preset": "0.76.8",
67
+ "@react-native/eslint-config": "0.76.8",
68
+ "@react-native/metro-config": "0.76.8",
69
+ "@react-native/typescript-config": "0.76.8",
59
70
  "@semantic-release/changelog": "6.0.3",
60
71
  "@semantic-release/git": "10.0.1",
61
- "semantic-release": "24.2.0",
62
- "husky": "8.0.3",
63
- "@types/react-native": "0.72.8",
64
- "@babel/core": "^7.25.2",
65
- "@babel/preset-env": "^7.25.3",
66
- "@babel/runtime": "^7.25.0",
67
- "react-native": "^0.76.5",
68
- "react": "^18.3.1",
69
- "@react-native/babel-preset": "0.76.5",
70
- "@react-native/eslint-config": "0.76.5",
71
- "@react-native/metro-config": "0.76.5",
72
- "@react-native/typescript-config": "0.76.5",
73
72
  "@types/react": "^18.2.6",
74
73
  "@types/react-test-renderer": "^18.0.0",
75
74
  "babel-jest": "^29.6.3",
76
75
  "eslint": "^8.19.0",
77
- "@types/jest": "29.5.1",
76
+ "husky": "8.0.3",
78
77
  "jest": "^29.6.3",
79
78
  "prettier": "2.8.8",
79
+ "react": "^18.3.1",
80
+ "react-native": "^0.77.1",
80
81
  "react-test-renderer": "18.3.1",
82
+ "semantic-release": "24.2.0",
81
83
  "typescript": "5.0.4"
82
84
  },
83
85
  "dependencies": {
@@ -94,6 +96,11 @@
94
96
  "name": "RNMapsSpecs",
95
97
  "type": "all",
96
98
  "jsSrcsDir": "./src/specs",
99
+ "outputDir": {
100
+ "ios": "ios/generated",
101
+ "android": "android/src/main"
102
+ },
103
+ "includesGeneratedCode": true,
97
104
  "android": {
98
105
  "javaPackageName": "com.rnmaps.fabric"
99
106
  }
@@ -0,0 +1,26 @@
1
+ require 'json'
2
+ package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
3
+
4
+ folly_config = get_folly_config()
5
+ folly_compiler_flags = folly_config[:compiler_flags]
6
+
7
+ Pod::Spec.new do |s|
8
+ s.name = "react-native-google-maps"
9
+ s.version = package['version']
10
+ s.summary = package["description"]
11
+ s.authors = package["author"]
12
+ s.homepage = package["homepage"]
13
+ s.license = package["license"]
14
+ s.platform = :ios, "15.0"
15
+ s.source = { :git => "https://github.com/react-native-maps/react-native-maps.git", :tag=> "v#{s.version}" }
16
+ s.source_files = "ios/AirGoogleMaps/**/*.{h,m,mm,swift}"
17
+ s.resource_bundles = {
18
+ 'GoogleMapsPrivacy' => ['ios/AirGoogleMaps/Resources/GoogleMapsPrivacy.bundle']
19
+ }
20
+ s.compiler_flags = folly_compiler_flags + ' -DHAVE_GOOGLE_MAPS=1 -DHAVE_GOOGLE_MAPS_UTILS=1'
21
+ s.dependency 'GoogleMaps', '9.3.0'
22
+ s.dependency 'Google-Maps-iOS-Utils', '6.1.0'
23
+ s.dependency 'react-native-maps-generated'
24
+ install_modules_dependencies(s)
25
+
26
+ end
@@ -0,0 +1,31 @@
1
+ require 'json'
2
+ package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
3
+
4
+ folly_config = get_folly_config()
5
+ folly_compiler_flags = folly_config[:compiler_flags]
6
+
7
+ Pod::Spec.new do |s|
8
+ s.name = "react-native-maps-generated"
9
+ s.version = package['version']
10
+ s.summary = package["description"]
11
+ s.authors = package["author"]
12
+ s.homepage = package["homepage"]
13
+ s.license = package["license"]
14
+ s.platform = :ios, "13.0"
15
+ s.source = { :git => "https://github.com/react-native-maps/react-native-maps.git", :tag=> "v#{s.version}" }
16
+ s.source_files = "ios/generated/**/*.{h,m,mm,cpp,swift}"
17
+ s.exclude_files = [
18
+ "ios/generated/RCTAppDependencyProvider.h",
19
+ "ios/generated/RCTAppDependencyProvider.mm",
20
+ "ios/generated/RCTThirdPartyComponentsProvider.h",
21
+ "ios/generated/RCTThirdPartyComponentsProvider.mm",
22
+ "ios/generated/RCTModulesConformingToProtocolsProvider.h",
23
+ "ios/generated/RCTModulesConformingToProtocolsProvider.mm",
24
+ ]
25
+ s.public_header_files = "ios/generated/**/*.h"
26
+ s.module_name = 'ReactNativeMapsGenerated'
27
+ s.dependency "React-Core"
28
+ s.compiler_flags = folly_compiler_flags
29
+ install_modules_dependencies(s)
30
+
31
+ end
@@ -1,22 +1,62 @@
1
1
  require 'json'
2
-
3
2
  package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
4
3
 
4
+ folly_config = get_folly_config()
5
+ folly_compiler_flags = folly_config[:compiler_flags]
6
+
5
7
  Pod::Spec.new do |s|
6
- s.name = "react-native-maps"
7
- s.version = package['version']
8
- s.summary = package["description"]
9
- s.authors = package["author"]
10
- s.homepage = package["homepage"]
11
- s.license = package["license"]
12
- s.platform = :ios, "12.0"
13
-
14
- s.source = { :git => "https://github.com/react-native-maps/react-native-maps.git", :tag=> "v#{s.version}" }
15
- s.source_files = "ios/AirMaps/**/*.{h,m,mm,swift}"
16
- s.resource_bundles = {
17
- 'ReactNativeMapsPrivacy' => ['ios/PrivacyInfo.xcprivacy']
18
- }
19
- s.dependency 'React-Core'
8
+ s.name = "react-native-maps"
9
+ s.version = package['version']
10
+ s.summary = package["description"]
11
+ s.authors = package["author"]
12
+ s.homepage = package["homepage"]
13
+ s.license = package["license"]
14
+ s.platform = :ios, "13.0"
15
+ s.source = { :git => "https://github.com/react-native-maps/react-native-maps.git", :tag=> "v#{s.version}" }
20
16
 
17
+ s.source_files = "ios/AirMaps/**/*.{h,m,mm,swift}"
18
+ s.dependency "React-Core"
19
+ s.compiler_flags = folly_compiler_flags
20
+ s.dependency 'react-native-maps-generated'
21
21
  install_modules_dependencies(s)
22
+
23
+ # Add script phase to detect Google Maps
24
+ s.script_phases = [
25
+ {
26
+ :name => 'Check react-native-google-Maps Availability',
27
+ :script => %(
28
+ set -x
29
+ echo "Running Google Maps detection script..."
30
+ GOOGLE_MAPS_HEADER_PATH="$PODS_ROOT/Headers/Public/react-native-google-maps/AIRGoogleMap.h"
31
+ DEFINES_DIR="${PODS_TARGET_SRCROOT}/ios/AirMaps"
32
+ DEFINES_FILE="${DEFINES_DIR}/RNMapsDefines.h"
33
+
34
+ echo "GOOGLE_MAPS_HEADER_PATH=$GOOGLE_MAPS_HEADER_PATH"
35
+ echo "DEFINES_FILE=$DEFINES_FILE"
36
+
37
+ # Check if Google Maps is available and write to the defines file
38
+ if [ -f "$GOOGLE_MAPS_HEADER_PATH" ]; then
39
+ echo "#define HAVE_GOOGLE_MAPS 1" > "$DEFINES_FILE"
40
+ echo "Google Maps detected. HAVE_GOOGLE_MAPS defined."
41
+ else
42
+ echo "#define HAVE_GOOGLE_MAPS 0" > "$DEFINES_FILE"
43
+ echo "Google Maps not detected."
44
+ fi
45
+
46
+ # Verify the file was written
47
+ if [ -f "$DEFINES_FILE" ]; then
48
+ echo "Successfully wrote to $DEFINES_FILE"
49
+ cat "$DEFINES_FILE"
50
+ else
51
+ echo "ERROR: Failed to write to $DEFINES_FILE"
52
+ fi
53
+ ),
54
+ :execution_position => :before_compile
55
+ }
56
+ ]
57
+
58
+ # Add the generated defines header to the header search path
59
+ s.pod_target_xcconfig = {
60
+ 'HEADER_SEARCH_PATHS' => "\"$(CONFIGURATION_BUILD_DIR)/react-native-google-maps\" \"${PODS_ROOT}/Headers/Private/Yoga\""
61
+ }
22
62
  end
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ module.exports = {
9
+ dependency: {
10
+ platforms: {
11
+ android: {
12
+ cmakeListsPath: 'src/main/jni/CMakeLists.txt',
13
+ },
14
+ },
15
+ },
16
+ };