react-native-maps 1.21.0-alpha.9 → 1.21.0-alpha.91

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 (179) hide show
  1. package/android/build.gradle +45 -14
  2. package/android/generated/RCTAppDependencyProvider.h +25 -0
  3. package/android/generated/RCTAppDependencyProvider.mm +55 -0
  4. package/android/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  5. package/android/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  6. package/android/generated/RCTThirdPartyComponentsProvider.h +16 -0
  7. package/android/generated/RCTThirdPartyComponentsProvider.mm +26 -0
  8. package/android/generated/ReactAppDependencyProvider.podspec +34 -0
  9. package/android/generated/java/com/facebook/fbreact/specs/NativeAirMapsModuleSpec.java +63 -0
  10. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerDelegate.java +35 -0
  11. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerInterface.java +18 -0
  12. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsCircleManagerDelegate.java +49 -0
  13. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsCircleManagerInterface.java +24 -0
  14. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerDelegate.java +49 -0
  15. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerInterface.java +24 -0
  16. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerDelegate.java +206 -0
  17. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerInterface.java +74 -0
  18. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerDelegate.java +104 -0
  19. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerInterface.java +40 -0
  20. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerDelegate.java +46 -0
  21. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerInterface.java +24 -0
  22. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerDelegate.java +58 -0
  23. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerInterface.java +27 -0
  24. package/android/generated/jni/CMakeLists.txt +36 -0
  25. package/android/generated/jni/RNMapsSpecs-generated.cpp +68 -0
  26. package/android/generated/jni/RNMapsSpecs.h +31 -0
  27. package/android/generated/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.cpp +29 -0
  28. package/android/generated/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.h +31 -0
  29. package/android/generated/jni/react/renderer/components/RNMapsSpecs/EventEmitters.cpp +984 -0
  30. package/android/generated/jni/react/renderer/components/RNMapsSpecs/EventEmitters.h +853 -0
  31. package/android/generated/jni/react/renderer/components/RNMapsSpecs/Props.cpp +193 -0
  32. package/android/generated/jni/react/renderer/components/RNMapsSpecs/Props.h +1223 -0
  33. package/android/generated/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI-generated.cpp +74 -0
  34. package/android/generated/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI.h +268 -0
  35. package/android/generated/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.cpp +24 -0
  36. package/android/generated/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.h +109 -0
  37. package/android/generated/jni/react/renderer/components/RNMapsSpecs/States.cpp +16 -0
  38. package/android/generated/jni/react/renderer/components/RNMapsSpecs/States.h +113 -0
  39. package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  40. package/android/gradlew +1 -2
  41. package/android/src/main/java/com/rnmaps/fabric/CalloutManager.java +77 -0
  42. package/android/src/main/java/com/rnmaps/fabric/CircleManager.java +94 -0
  43. package/android/src/main/java/com/rnmaps/fabric/JSONUtil.java +86 -0
  44. package/android/src/main/java/com/rnmaps/fabric/MapViewManager.java +619 -0
  45. package/android/src/main/java/com/rnmaps/fabric/MarkerManager.java +258 -0
  46. package/android/src/main/java/com/rnmaps/fabric/NativeAirMapsModule.java +235 -2
  47. package/android/src/main/java/com/rnmaps/fabric/OverlayManager.java +95 -0
  48. package/android/src/main/java/com/rnmaps/fabric/PolygonManager.java +89 -0
  49. package/android/src/main/java/com/rnmaps/fabric/PolylineManager.java +121 -0
  50. package/android/src/main/java/com/rnmaps/fabric/event/OnCalloutPressEvent.java +25 -0
  51. package/android/src/main/java/com/rnmaps/fabric/event/OnDeselectEvent.java +28 -0
  52. package/android/src/main/java/com/rnmaps/fabric/event/OnDoublePressEvent.java +27 -0
  53. package/android/src/main/java/com/rnmaps/fabric/event/OnDragEndEvent.java +28 -0
  54. package/android/src/main/java/com/rnmaps/fabric/event/OnDragEvent.java +28 -0
  55. package/android/src/main/java/com/rnmaps/fabric/event/OnDragStartEvent.java +28 -0
  56. package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorBuildingFocusedEvent.java +28 -0
  57. package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorLevelActivatedEvent.java +28 -0
  58. package/android/src/main/java/com/rnmaps/fabric/event/OnKmlReadyEvent.java +28 -0
  59. package/android/src/main/java/com/rnmaps/fabric/event/OnLongPressEvent.java +28 -0
  60. package/android/src/main/java/com/rnmaps/fabric/event/OnMapLoadedEvent.java +29 -0
  61. package/android/src/main/java/com/rnmaps/fabric/event/OnMapReadyEvent.java +29 -0
  62. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDeselectEvent.java +28 -0
  63. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEndEvent.java +28 -0
  64. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEvent.java +28 -0
  65. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragStartEvent.java +28 -0
  66. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerPressEvent.java +28 -0
  67. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerSelectEvent.java +28 -0
  68. package/android/src/main/java/com/rnmaps/fabric/event/OnPanDragEvent.java +28 -0
  69. package/android/src/main/java/com/rnmaps/fabric/event/OnPoiClickEvent.java +27 -0
  70. package/android/src/main/java/com/rnmaps/fabric/event/OnPressEvent.java +27 -0
  71. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeCompleteEvent.java +30 -0
  72. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeEvent.java +48 -0
  73. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeStartEvent.java +33 -0
  74. package/android/src/main/java/com/rnmaps/fabric/event/OnSelectEvent.java +28 -0
  75. package/android/src/main/java/com/rnmaps/fabric/event/OnUserLocationChangeEvent.java +28 -0
  76. package/android/src/main/java/com/rnmaps/maps/MapAirModulePackage.java +38 -2
  77. package/android/src/main/java/com/rnmaps/maps/MapCallout.java +18 -0
  78. package/android/src/main/java/com/rnmaps/maps/MapCircle.java +24 -0
  79. package/android/src/main/java/com/rnmaps/maps/MapManager.java +14 -14
  80. package/android/src/main/java/com/rnmaps/maps/MapMarker.java +79 -3
  81. package/android/src/main/java/com/rnmaps/maps/MapModule.java +206 -206
  82. package/android/src/main/java/com/rnmaps/maps/MapOverlay.java +267 -151
  83. package/android/src/main/java/com/rnmaps/maps/MapPolygon.java +31 -1
  84. package/android/src/main/java/com/rnmaps/maps/MapPolyline.java +207 -141
  85. package/android/src/main/java/com/rnmaps/maps/MapPolylineManager.java +1 -16
  86. package/android/src/main/java/com/rnmaps/maps/MapView.java +1653 -1337
  87. package/ios/AirGoogleMaps/AIRGoogleMap.h +1 -0
  88. package/ios/AirGoogleMaps/AIRGoogleMap.m +106 -58
  89. package/ios/AirGoogleMaps/AIRGoogleMapCircle.m +23 -11
  90. package/ios/AirGoogleMaps/AIRGoogleMapManager.m +3 -1
  91. package/ios/AirGoogleMaps/AIRGoogleMapMarker.h +2 -0
  92. package/ios/AirGoogleMaps/AIRGoogleMapMarker.m +347 -243
  93. package/ios/AirGoogleMaps/AIRGoogleMapPolygon.h +2 -1
  94. package/ios/AirGoogleMaps/AIRGoogleMapPolygon.m +30 -0
  95. package/ios/AirGoogleMaps/AIRGoogleMapPolyline.h +0 -1
  96. package/ios/AirGoogleMaps/AIRGoogleMapPolyline.m +0 -7
  97. package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.h +1 -1
  98. package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.m +2 -2
  99. package/ios/AirGoogleMaps/RCTConvert+GMSMapViewType.m +2 -0
  100. package/ios/AirGoogleMaps/RNMapsGoogleMapView.mm +197 -61
  101. package/ios/AirGoogleMaps/RNMapsGooglePolygonView.h +26 -0
  102. package/ios/AirGoogleMaps/RNMapsGooglePolygonView.mm +215 -0
  103. package/ios/AirGoogleMaps/RNMapsGooglePolygonViewManager.mm +25 -0
  104. package/ios/AirMaps/AIRMap.h +2 -1
  105. package/ios/AirMaps/AIRMap.m +227 -236
  106. package/ios/AirMaps/AIRMapManager.m +6 -0
  107. package/ios/AirMaps/AIRMapMarker.h +1 -0
  108. package/ios/AirMaps/AIRMapMarker.m +165 -103
  109. package/ios/AirMaps/Callout/SMCalloutView.m +1 -1
  110. package/ios/AirMaps/RNMapsAirModule.h +1 -1
  111. package/ios/AirMaps/RNMapsAirModule.mm +4 -3
  112. package/ios/AirMaps/RNMapsAirModuleDelegate.h +24 -0
  113. package/ios/AirMaps/RNMapsHostVewDelegate.h +17 -0
  114. package/ios/AirMaps/RNMapsMapView.mm +336 -307
  115. package/ios/AirMaps/RNMapsMarkerView.h +24 -0
  116. package/ios/AirMaps/RNMapsMarkerView.mm +427 -0
  117. package/ios/AirMaps/RNMapsMarkerViewManager.mm +21 -0
  118. package/ios/AirMaps/UIView +AirMap.m +20 -0
  119. package/ios/AirMaps/UIView+AirMap.h +11 -0
  120. package/ios/AirMaps.xcodeproj/project.pbxproj +60 -0
  121. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  122. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  123. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  124. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  125. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  126. package/ios/generated/RCTThirdPartyComponentsProvider.mm +26 -0
  127. package/ios/generated/RNMapsSpecs/ComponentDescriptors.cpp +29 -0
  128. package/ios/generated/RNMapsSpecs/ComponentDescriptors.h +31 -0
  129. package/ios/generated/RNMapsSpecs/EventEmitters.cpp +984 -0
  130. package/ios/generated/RNMapsSpecs/EventEmitters.h +853 -0
  131. package/ios/generated/RNMapsSpecs/Props.cpp +193 -0
  132. package/ios/generated/RNMapsSpecs/Props.h +1223 -0
  133. package/ios/generated/RNMapsSpecs/RCTComponentViewHelpers.h +603 -0
  134. package/ios/generated/RNMapsSpecs/RNMapsSpecs-generated.mm +92 -0
  135. package/ios/generated/RNMapsSpecs/RNMapsSpecs.h +137 -0
  136. package/ios/generated/RNMapsSpecs/ShadowNodes.cpp +24 -0
  137. package/ios/generated/RNMapsSpecs/ShadowNodes.h +109 -0
  138. package/ios/generated/RNMapsSpecs/States.cpp +16 -0
  139. package/ios/generated/RNMapsSpecs/States.h +113 -0
  140. package/ios/generated/RNMapsSpecsJSI-generated.cpp +74 -0
  141. package/ios/generated/RNMapsSpecsJSI.h +268 -0
  142. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  143. package/ios/generated/module.modulemap +4 -0
  144. package/ios/generated/react-native-maps-generated-umbrella.h +14 -0
  145. package/lib/MapCircle.d.ts +1 -1
  146. package/lib/MapHeatmap.d.ts +2 -2
  147. package/lib/MapHeatmap.js +1 -1
  148. package/lib/MapMarker.d.ts +16 -3
  149. package/lib/MapMarker.js +58 -9
  150. package/lib/MapMarkerNativeComponent.js +0 -2
  151. package/lib/MapOverlay.d.ts +1 -0
  152. package/lib/MapOverlay.js +21 -9
  153. package/lib/MapPolygon.d.ts +1 -1
  154. package/lib/MapPolyline.d.ts +7 -7
  155. package/lib/MapView.d.ts +15 -27
  156. package/lib/MapView.js +109 -124
  157. package/lib/MapView.types.d.ts +1 -1
  158. package/lib/createFabricMap.d.ts +1 -0
  159. package/lib/createFabricMap.js +17 -4
  160. package/lib/decorateMapComponent.js +40 -0
  161. package/lib/specs/NativeAirMapsModule.d.ts +2 -2
  162. package/lib/specs/NativeComponentCallout.d.ts +46 -0
  163. package/lib/specs/NativeComponentCallout.js +9 -0
  164. package/lib/specs/NativeComponentCircle.d.ts +74 -0
  165. package/lib/specs/NativeComponentCircle.js +7 -0
  166. package/lib/specs/NativeComponentGoogleMapView.d.ts +15 -15
  167. package/lib/specs/NativeComponentGoogleMapView.js +1 -0
  168. package/lib/specs/NativeComponentGooglePolygon.d.ts +75 -0
  169. package/lib/specs/NativeComponentGooglePolygon.js +7 -0
  170. package/lib/specs/NativeComponentMapView.d.ts +28 -36
  171. package/lib/specs/NativeComponentMapView.js +2 -3
  172. package/lib/specs/NativeComponentMarker.d.ts +258 -0
  173. package/lib/specs/NativeComponentMarker.js +19 -0
  174. package/lib/specs/NativeComponentOverlay.d.ts +67 -0
  175. package/lib/specs/NativeComponentOverlay.js +7 -0
  176. package/lib/specs/NativeComponentPolyline.d.ts +101 -0
  177. package/lib/specs/NativeComponentPolyline.js +7 -0
  178. package/package.json +27 -21
  179. package/react-native-maps.podspec +61 -16
@@ -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.78.0"
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
@@ -0,0 +1,4 @@
1
+ module react-native-maps-generated {
2
+ umbrella header "react-native-maps-generated-umbrella.h"
3
+ export RNMapsSpecs
4
+ }
@@ -0,0 +1,14 @@
1
+ #ifndef REACT_NATIVE_MAPS_GENERATED_UMBRELLA_H
2
+ #define REACT_NATIVE_MAPS_GENERATED_UMBRELLA_H
3
+
4
+ #import "RNMapsSpecs/ComponentDescriptors.h"
5
+ #import "RNMapsSpecs/EventEmitters.h"
6
+ #import "RNMapsSpecs/Props.h"
7
+ #import "RNMapsSpecs/RCTComponentViewHelpers.h"
8
+ #import "RNMapsSpecs/RNMapsSpecs.h"
9
+
10
+ #endif /* REACT_NATIVE_MAPS_GENERATED_UMBRELLA_H */
11
+
12
+
13
+
14
+
@@ -101,7 +101,7 @@ export type MapCircleProps = ViewProps & {
101
101
  zIndex?: number;
102
102
  };
103
103
  type NativeProps = MapCircleProps & {
104
- ref: React.RefObject<View>;
104
+ ref: React.RefObject<View | null>;
105
105
  };
106
106
  export declare class MapCircle extends React.Component<MapCircleProps> {
107
107
  context: React.ContextType<typeof ProviderContext>;
@@ -59,9 +59,9 @@ type NativeProps = Modify<MapHeatmapProps, {
59
59
  colors: (ProcessedColorValue | null | undefined)[];
60
60
  }>;
61
61
  }> & {
62
- ref: React.RefObject<View>;
62
+ ref: React.RefObject<View | null>;
63
63
  };
64
- export declare class MapHeatmap extends React.Component<MapHeatmapProps> {
64
+ export declare class MapHeatmap extends React.Component<MapHeatmapProps | null> {
65
65
  context: React.ContextType<typeof ProviderContext>;
66
66
  getNativeComponent: () => NativeComponent<NativeProps>;
67
67
  getMapManagerCommand: (name: string) => MapManagerCommand;
package/lib/MapHeatmap.js CHANGED
@@ -41,7 +41,7 @@ class MapHeatmap extends React.Component {
41
41
  }
42
42
  render() {
43
43
  const AIRMapHeatmap = this.getNativeComponent();
44
- const propGradient = this.props.gradient;
44
+ const propGradient = this.props?.gradient;
45
45
  let gradient;
46
46
  if (propGradient) {
47
47
  const colors = propGradient.colors.map(c => (0, react_native_1.processColor)(c));
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  import { Animated, ViewProps, ImageURISource, ImageRequireSource } from 'react-native';
3
3
  import { MapManagerCommand, NativeComponent, ProviderContext, UIManagerCommand } from './decorateMapComponent';
4
4
  import { MapMarkerNativeComponentType } from './MapMarkerNativeComponent';
5
+ import type { AppleMarkerPriority } from './specs/NativeComponentMarker';
5
6
  import { CalloutPressEvent, LatLng, MarkerDeselectEvent, MarkerDragEvent, MarkerDragStartEndEvent, MarkerPressEvent, MarkerSelectEvent, Point } from './sharedTypes';
6
7
  import { Modify } from './sharedTypesInternal';
7
8
  type AppleMarkerVisibility = 'hidden' | 'adaptive' | 'visible';
@@ -42,7 +43,7 @@ export type MapMarkerProps = ViewProps & {
42
43
  *
43
44
  * @default {x: 0.0, y: 0.0}
44
45
  * @platform iOS: Apple Maps only. For Google Maps, see the `calloutAnchor` prop
45
- * @platform Android: Not supported. See see the `calloutAnchor` prop
46
+ * @platform Android: Not supported. see the `calloutAnchor` prop
46
47
  */
47
48
  calloutOffset?: Point;
48
49
  /**
@@ -54,7 +55,7 @@ export type MapMarkerProps = ViewProps & {
54
55
  *
55
56
  * @default {x: 0.0, y: 0.0}
56
57
  * @platform iOS: Apple Maps only. For Google Maps, see the `anchor` prop
57
- * @platform Android: Not supported. See see the `anchor` prop
58
+ * @platform Android: Not supported. see the `anchor` prop
58
59
  */
59
60
  centerOffset?: Point;
60
61
  /**
@@ -261,6 +262,17 @@ export type MapMarkerProps = ViewProps & {
261
262
  * @platform Android: Supported
262
263
  */
263
264
  zIndex?: number;
265
+ /**
266
+ Constants that indicates the display priority for annotations.
267
+ @default required
268
+ @platform iOS: Apple Maps only.
269
+ @platform Android: Not supported
270
+
271
+ Required: A constant indicating that the item is required.
272
+ High: A constant indicating that the item’s display priority is high.
273
+ Low: A constant indicating that the item’s display priority is Low.
274
+ */
275
+ displayPriority?: AppleMarkerPriority;
264
276
  /**
265
277
  * Visibility of the title text rendered beneath Marker balloon
266
278
  * @platform iOS: Apple Maps only
@@ -286,7 +298,7 @@ export type NativeProps = Modify<OmittedProps, {
286
298
  icon?: string;
287
299
  image?: MapMarkerProps['image'] | string;
288
300
  }> & {
289
- ref: React.RefObject<MapMarkerNativeComponentType>;
301
+ ref: React.RefObject<MapMarkerNativeComponentType | null>;
290
302
  };
291
303
  export declare class MapMarker extends React.Component<MapMarkerProps> {
292
304
  context: React.ContextType<typeof ProviderContext>;
@@ -295,6 +307,7 @@ export declare class MapMarker extends React.Component<MapMarkerProps> {
295
307
  getUIManagerCommand: (name: string) => UIManagerCommand;
296
308
  static Animated: Animated.AnimatedComponent<typeof MapMarker>;
297
309
  private marker;
310
+ private fabricMarker?;
298
311
  constructor(props: MapMarkerProps);
299
312
  setNativeProps(props: Partial<NativeProps>): void;
300
313
  showCallout(): void;
package/lib/MapMarker.js CHANGED
@@ -28,12 +28,15 @@ const React = __importStar(require("react"));
28
28
  const react_native_1 = require("react-native");
29
29
  const decorateMapComponent_1 = __importStar(require("./decorateMapComponent"));
30
30
  const MapMarkerNativeComponent_1 = require("./MapMarkerNativeComponent");
31
+ const NativeComponentMarker_1 = require("./specs/NativeComponentMarker");
32
+ const ProviderConstants_1 = require("./ProviderConstants");
31
33
  class MapMarker extends React.Component {
32
34
  getNativeComponent;
33
35
  getMapManagerCommand;
34
36
  getUIManagerCommand;
35
37
  static Animated;
36
38
  marker;
39
+ fabricMarker = undefined;
37
40
  constructor(props) {
38
41
  super(props);
39
42
  this.marker = React.createRef();
@@ -49,27 +52,59 @@ class MapMarker extends React.Component {
49
52
  }
50
53
  showCallout() {
51
54
  if (this.marker.current) {
52
- MapMarkerNativeComponent_1.Commands.showCallout(this.marker.current);
55
+ if (this.fabricMarker) {
56
+ // @ts-ignore
57
+ NativeComponentMarker_1.Commands.showCallout(this.marker.current);
58
+ }
59
+ else {
60
+ MapMarkerNativeComponent_1.Commands.showCallout(this.marker.current);
61
+ }
53
62
  }
54
63
  }
55
64
  hideCallout() {
56
65
  if (this.marker.current) {
57
- MapMarkerNativeComponent_1.Commands.hideCallout(this.marker.current);
66
+ if (this.fabricMarker) {
67
+ // @ts-ignore
68
+ NativeComponentMarker_1.Commands.hideCallout(this.marker.current);
69
+ }
70
+ else {
71
+ MapMarkerNativeComponent_1.Commands.hideCallout(this.marker.current);
72
+ }
58
73
  }
59
74
  }
60
75
  setCoordinates(coordinate) {
61
76
  if (this.marker.current) {
62
- MapMarkerNativeComponent_1.Commands.setCoordinates(this.marker.current, coordinate);
77
+ if (this.fabricMarker) {
78
+ NativeComponentMarker_1.Commands.setCoordinates(
79
+ // @ts-ignore
80
+ this.marker.current, coordinate.latitude, coordinate.longitude);
81
+ }
82
+ else {
83
+ MapMarkerNativeComponent_1.Commands.setCoordinates(this.marker.current, coordinate);
84
+ }
63
85
  }
64
86
  }
65
87
  redrawCallout() {
66
88
  if (this.marker.current) {
67
- MapMarkerNativeComponent_1.Commands.redrawCallout(this.marker.current);
89
+ if (this.fabricMarker) {
90
+ // @ts-ignore
91
+ NativeComponentMarker_1.Commands.redrawCallout(this.marker.current);
92
+ }
93
+ else {
94
+ MapMarkerNativeComponent_1.Commands.redrawCallout(this.marker.current);
95
+ }
68
96
  }
69
97
  }
70
98
  animateMarkerToCoordinate(coordinate, duration = 500) {
71
99
  if (this.marker.current) {
72
- MapMarkerNativeComponent_1.Commands.animateMarkerToCoordinate(this.marker.current, coordinate, duration);
100
+ if (this.fabricMarker) {
101
+ NativeComponentMarker_1.Commands.animateToCoordinates(
102
+ // @ts-ignore
103
+ this.marker.current, coordinate.latitude, coordinate.longitude, duration);
104
+ }
105
+ else {
106
+ MapMarkerNativeComponent_1.Commands.animateMarkerToCoordinate(this.marker.current, coordinate, duration);
107
+ }
73
108
  }
74
109
  }
75
110
  redraw() {
@@ -79,10 +114,9 @@ class MapMarker extends React.Component {
79
114
  }
80
115
  render() {
81
116
  const { stopPropagation = false } = this.props;
82
- let image;
83
- if (this.props.image) {
84
- image = react_native_1.Image.resolveAssetSource(this.props.image) || {};
85
- image = image.uri || this.props.image;
117
+ if (this.fabricMarker === undefined) {
118
+ const provider = this.context;
119
+ this.fabricMarker = !(react_native_1.Platform.OS === 'ios' && provider !== ProviderConstants_1.PROVIDER_GOOGLE);
86
120
  }
87
121
  let icon;
88
122
  if (this.props.icon) {
@@ -90,6 +124,21 @@ class MapMarker extends React.Component {
90
124
  icon = icon.uri;
91
125
  }
92
126
  const AIRMapMarker = this.getNativeComponent();
127
+ let image;
128
+ if (this.props.image) {
129
+ if (this.fabricMarker) {
130
+ if (typeof this.props.image === 'string') {
131
+ image = { uri: this.props.image };
132
+ }
133
+ else {
134
+ image = this.props.image;
135
+ }
136
+ }
137
+ else {
138
+ const resolvedImage = react_native_1.Image.resolveAssetSource(this.props.image) || {};
139
+ image = resolvedImage.uri || this.props.image;
140
+ }
141
+ }
93
142
  return (<AIRMapMarker {...this.props} ref={this.marker} image={image} icon={icon} style={[styles.marker, this.props.style]} onPress={event => {
94
143
  if (stopPropagation) {
95
144
  event.stopPropagation();
@@ -9,9 +9,7 @@ exports.Commands = (0, codegenNativeCommands_1.default)({
9
9
  supportedCommands: [
10
10
  'showCallout',
11
11
  'hideCallout',
12
- 'redrawCallout',
13
12
  'animateMarkerToCoordinate',
14
- 'redraw',
15
13
  'setCoordinates',
16
14
  ],
17
15
  });
@@ -60,6 +60,7 @@ export declare class MapOverlay extends React.Component<MapOverlayProps> {
60
60
  getMapManagerCommand: (name: string) => MapManagerCommand;
61
61
  getUIManagerCommand: (name: string) => UIManagerCommand;
62
62
  static Animated: Animated.AnimatedComponent<typeof MapOverlay>;
63
+ private fabricOverlay?;
63
64
  render(): React.JSX.Element;
64
65
  }
65
66
  type Coordinate = [number, number];
package/lib/MapOverlay.js CHANGED
@@ -32,19 +32,31 @@ class MapOverlay extends React.Component {
32
32
  getMapManagerCommand;
33
33
  getUIManagerCommand;
34
34
  static Animated;
35
+ fabricOverlay = undefined;
35
36
  render() {
36
37
  const { opacity = 1.0 } = this.props;
37
- let image;
38
- if (typeof this.props.image !== 'number' &&
39
- this.props.image.uri?.startsWith('http')) {
40
- image = this.props.image.uri;
41
- }
42
- else {
43
- const sourceAsset = react_native_1.Image.resolveAssetSource(this.props.image) || {};
44
- image = sourceAsset.uri;
38
+ if (this.fabricOverlay === undefined) {
39
+ this.fabricOverlay = react_native_1.Platform.OS === 'android';
45
40
  }
46
41
  const AIRMapOverlay = this.getNativeComponent();
47
- return (<AIRMapOverlay {...this.props} opacity={opacity} image={image} style={[styles.overlay, this.props.style]}/>);
42
+ let image;
43
+ if (this.props.image) {
44
+ if (this.fabricOverlay) {
45
+ if (typeof this.props.image === 'string') {
46
+ image = { uri: this.props.image };
47
+ }
48
+ else {
49
+ image = this.props.image;
50
+ }
51
+ }
52
+ else {
53
+ const resolvedImage = react_native_1.Image.resolveAssetSource(this.props.image) || {};
54
+ image = resolvedImage.uri || this.props.image;
55
+ }
56
+ }
57
+ return (<AIRMapOverlay {...this.props} opacity={opacity}
58
+ // @ts-ignore
59
+ image={image} style={[styles.overlay, this.props.style]}/>);
48
60
  }
49
61
  }
50
62
  exports.MapOverlay = MapOverlay;
@@ -124,7 +124,7 @@ export type MapPolygonProps = ViewProps & {
124
124
  zIndex?: number;
125
125
  };
126
126
  type NativeProps = MapPolygonProps & {
127
- ref: React.RefObject<View>;
127
+ ref: React.RefObject<View | null>;
128
128
  };
129
129
  export declare class MapPolygon extends React.Component<MapPolygonProps> {
130
130
  context: React.ContextType<typeof ProviderContext>;
@@ -14,7 +14,7 @@ export type MapPolylineProps = ViewProps & {
14
14
  * The fill color to use for the path.
15
15
  *
16
16
  * @default `#000`, `rgba(r,g,b,0.5)`
17
- * @platform iOS: Supported
17
+ * @platform iOS: Apple Maps only
18
18
  * @platform Android: Not supported
19
19
  */
20
20
  fillColor?: string;
@@ -32,8 +32,8 @@ export type MapPolylineProps = ViewProps & {
32
32
  *
33
33
  * @default `round`
34
34
  * @platform iOS: Apple Maps only
35
- * @platform Android: Supported
36
- */
35
+ * @platform Android: supported
36
+ * */
37
37
  lineCap?: LineCapType;
38
38
  /**
39
39
  * An array of numbers specifying the dash pattern to use for the path.
@@ -42,8 +42,8 @@ export type MapPolylineProps = ViewProps & {
42
42
  * The values in the array alternate, starting with the first line segment length,
43
43
  * followed by the first gap length, followed by the second line segment length, and so on.
44
44
  *
45
- * @platform iOS: Supported
46
- * @platform Android: Supported
45
+ * @platform iOS: Apple Maps only
46
+ * @platform Android: supported
47
47
  */
48
48
  lineDashPattern?: number[];
49
49
  /**
@@ -60,7 +60,7 @@ export type MapPolylineProps = ViewProps & {
60
60
  * The line join style to apply to corners of the path.
61
61
  *
62
62
  * @platform iOS: Apple Maps only
63
- * @platform Android: Not supported
63
+ * @platform Android: supported
64
64
  */
65
65
  lineJoin?: LineJoinType;
66
66
  /**
@@ -125,7 +125,7 @@ export type MapPolylineProps = ViewProps & {
125
125
  zIndex?: number;
126
126
  };
127
127
  type NativeProps = MapPolylineProps & {
128
- ref: React.RefObject<View>;
128
+ ref: React.RefObject<View | null>;
129
129
  };
130
130
  export declare class MapPolyline extends React.Component<MapPolylineProps> {
131
131
  context: React.ContextType<typeof ProviderContext>;