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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/android/build.gradle +73 -53
  2. package/android/gradlew +1 -2
  3. package/android/src/main/RCTAppDependencyProvider.h +25 -0
  4. package/android/src/main/RCTAppDependencyProvider.mm +55 -0
  5. package/android/src/main/RCTModulesConformingToProtocolsProvider.h +18 -0
  6. package/android/src/main/RCTModulesConformingToProtocolsProvider.mm +33 -0
  7. package/android/src/main/RCTThirdPartyComponentsProvider.h +16 -0
  8. package/android/src/main/RCTThirdPartyComponentsProvider.mm +28 -0
  9. package/android/src/main/ReactAppDependencyProvider.podspec +34 -0
  10. package/android/src/main/java/com/facebook/fbreact/specs/NativeAirMapsModuleSpec.java +63 -0
  11. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerDelegate.java +35 -0
  12. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerInterface.java +17 -0
  13. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCircleManagerDelegate.java +49 -0
  14. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCircleManagerInterface.java +23 -0
  15. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerDelegate.java +49 -0
  16. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerInterface.java +23 -0
  17. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerDelegate.java +206 -0
  18. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerInterface.java +73 -0
  19. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerDelegate.java +104 -0
  20. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerInterface.java +39 -0
  21. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerDelegate.java +46 -0
  22. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerInterface.java +23 -0
  23. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerDelegate.java +58 -0
  24. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerInterface.java +26 -0
  25. package/android/src/main/java/com/rnmaps/fabric/CalloutManager.java +77 -0
  26. package/android/src/main/java/com/rnmaps/fabric/CircleManager.java +94 -0
  27. package/android/src/main/java/com/rnmaps/fabric/JSONUtil.java +86 -0
  28. package/android/src/main/java/com/rnmaps/fabric/MapViewManager.java +619 -0
  29. package/android/src/main/java/com/rnmaps/fabric/MarkerManager.java +258 -0
  30. package/android/src/main/java/com/rnmaps/fabric/NativeAirMapsModule.java +235 -2
  31. package/android/src/main/java/com/rnmaps/fabric/OverlayManager.java +95 -0
  32. package/android/src/main/java/com/rnmaps/fabric/PolygonManager.java +89 -0
  33. package/android/src/main/java/com/rnmaps/fabric/PolylineManager.java +121 -0
  34. package/android/src/main/java/com/rnmaps/fabric/event/OnCalloutPressEvent.java +25 -0
  35. package/android/src/main/java/com/rnmaps/fabric/event/OnDeselectEvent.java +28 -0
  36. package/android/src/main/java/com/rnmaps/fabric/event/OnDoublePressEvent.java +27 -0
  37. package/android/src/main/java/com/rnmaps/fabric/event/OnDragEndEvent.java +28 -0
  38. package/android/src/main/java/com/rnmaps/fabric/event/OnDragEvent.java +28 -0
  39. package/android/src/main/java/com/rnmaps/fabric/event/OnDragStartEvent.java +28 -0
  40. package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorBuildingFocusedEvent.java +28 -0
  41. package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorLevelActivatedEvent.java +28 -0
  42. package/android/src/main/java/com/rnmaps/fabric/event/OnKmlReadyEvent.java +28 -0
  43. package/android/src/main/java/com/rnmaps/fabric/event/OnLongPressEvent.java +28 -0
  44. package/android/src/main/java/com/rnmaps/fabric/event/OnMapLoadedEvent.java +29 -0
  45. package/android/src/main/java/com/rnmaps/fabric/event/OnMapReadyEvent.java +29 -0
  46. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDeselectEvent.java +28 -0
  47. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEndEvent.java +28 -0
  48. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEvent.java +28 -0
  49. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragStartEvent.java +28 -0
  50. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerPressEvent.java +28 -0
  51. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerSelectEvent.java +28 -0
  52. package/android/src/main/java/com/rnmaps/fabric/event/OnPanDragEvent.java +28 -0
  53. package/android/src/main/java/com/rnmaps/fabric/event/OnPoiClickEvent.java +27 -0
  54. package/android/src/main/java/com/rnmaps/fabric/event/OnPressEvent.java +27 -0
  55. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeCompleteEvent.java +30 -0
  56. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeEvent.java +48 -0
  57. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeStartEvent.java +33 -0
  58. package/android/src/main/java/com/rnmaps/fabric/event/OnSelectEvent.java +28 -0
  59. package/android/src/main/java/com/rnmaps/fabric/event/OnUserLocationChangeEvent.java +28 -0
  60. package/android/src/main/java/com/rnmaps/maps/MapAirModulePackage.java +40 -4
  61. package/android/src/main/java/com/rnmaps/maps/MapCallout.java +18 -0
  62. package/android/src/main/java/com/rnmaps/maps/MapCircle.java +24 -0
  63. package/android/src/main/java/com/rnmaps/maps/MapManager.java +14 -14
  64. package/android/src/main/java/com/rnmaps/maps/MapMarker.java +637 -556
  65. package/android/src/main/java/com/rnmaps/maps/MapMarkerManager.java +3 -3
  66. package/android/src/main/java/com/rnmaps/maps/MapModule.java +206 -206
  67. package/android/src/main/java/com/rnmaps/maps/MapOverlay.java +267 -151
  68. package/android/src/main/java/com/rnmaps/maps/MapPolygon.java +31 -1
  69. package/android/src/main/java/com/rnmaps/maps/MapPolyline.java +207 -141
  70. package/android/src/main/java/com/rnmaps/maps/MapPolylineManager.java +1 -16
  71. package/android/src/main/java/com/rnmaps/maps/MapView.java +1650 -1337
  72. package/android/src/main/jni/CMakeLists.txt +36 -0
  73. package/android/src/main/jni/RNMapsSpecs-generated.cpp +68 -0
  74. package/android/src/main/jni/RNMapsSpecs.h +31 -0
  75. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.cpp +29 -0
  76. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.h +31 -0
  77. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/EventEmitters.cpp +977 -0
  78. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/EventEmitters.h +846 -0
  79. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/Props.cpp +193 -0
  80. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/Props.h +1223 -0
  81. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI-generated.cpp +74 -0
  82. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI.h +268 -0
  83. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.cpp +24 -0
  84. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.h +109 -0
  85. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/States.cpp +16 -0
  86. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/States.h +113 -0
  87. package/ios/AirGoogleMaps/AIRGoogleMap.h +10 -11
  88. package/ios/AirGoogleMaps/AIRGoogleMap.m +103 -69
  89. package/ios/AirGoogleMaps/AIRGoogleMapCircle.m +23 -11
  90. package/ios/AirGoogleMaps/AIRGoogleMapManager.m +10 -9
  91. package/ios/AirGoogleMaps/AIRGoogleMapMarker.m +6 -3
  92. package/ios/AirGoogleMaps/AIRGoogleMapMarkerManager.m +1 -1
  93. package/ios/AirGoogleMaps/AIRGoogleMapPolygon.m +3 -0
  94. package/ios/AirGoogleMaps/AIRGoogleMapPolyline.h +0 -1
  95. package/ios/AirGoogleMaps/AIRGoogleMapPolyline.m +0 -7
  96. package/ios/AirGoogleMaps/AIRGoogleMapUrlTile.m +2 -2
  97. package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.h +1 -1
  98. package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.m +4 -4
  99. package/ios/AirGoogleMaps/RNMapsGoogleMapView.h +1 -1
  100. package/ios/AirGoogleMaps/RNMapsGoogleMapView.mm +112 -43
  101. package/ios/AirGoogleMaps/RNMapsGoogleMapViewManager.mm +16 -1
  102. package/ios/AirGoogleMaps/RNMapsGooglePolygonView.h +26 -0
  103. package/ios/AirGoogleMaps/RNMapsGooglePolygonView.mm +217 -0
  104. package/ios/AirGoogleMaps/RNMapsGooglePolygonViewManager.mm +26 -0
  105. package/ios/AirMaps/AIRMap.h +8 -9
  106. package/ios/AirMaps/AIRMap.m +222 -239
  107. package/ios/AirMaps/AIRMapManager.m +10 -7
  108. package/ios/AirMaps/AIRMapMarker.h +1 -0
  109. package/ios/AirMaps/AIRMapMarker.m +165 -103
  110. package/ios/AirMaps/Callout/SMCalloutView.m +1 -1
  111. package/ios/AirMaps/FabricPlaceholders/PlaceHolderGoogleMapView.h +28 -0
  112. package/ios/AirMaps/FabricPlaceholders/PlaceHolderGoogleMapView.mm +68 -0
  113. package/ios/AirMaps/FabricPlaceholders/PlaceHolderPolygonView.h +25 -0
  114. package/ios/AirMaps/FabricPlaceholders/PlaceHolderPolygonView.mm +43 -0
  115. package/ios/AirMaps/RNMapsAirModule.h +1 -1
  116. package/ios/AirMaps/RNMapsAirModule.mm +4 -3
  117. package/ios/AirMaps/RNMapsDefines.h +0 -0
  118. package/ios/AirMaps/RNMapsMapView.h +1 -1
  119. package/ios/AirMaps/RNMapsMapView.mm +119 -95
  120. package/ios/AirMaps/RNMapsMapViewManager.mm +19 -1
  121. package/ios/AirMaps/RNMapsMarkerView.h +24 -0
  122. package/ios/AirMaps/RNMapsMarkerView.mm +430 -0
  123. package/ios/AirMaps/RNMapsMarkerViewManager.mm +28 -0
  124. package/ios/AirMaps.xcodeproj/project.pbxproj +20 -0
  125. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  126. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  127. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  128. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  129. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  130. package/ios/generated/RCTThirdPartyComponentsProvider.mm +26 -0
  131. package/ios/{AirMaps → generated}/RNMapsAirModuleDelegate.h +2 -2
  132. package/ios/generated/RNMapsSpecs/ComponentDescriptors.cpp +29 -0
  133. package/ios/generated/RNMapsSpecs/ComponentDescriptors.h +31 -0
  134. package/ios/generated/RNMapsSpecs/EventEmitters.cpp +977 -0
  135. package/ios/generated/RNMapsSpecs/EventEmitters.h +846 -0
  136. package/ios/generated/RNMapsSpecs/Props.cpp +193 -0
  137. package/ios/generated/RNMapsSpecs/Props.h +1223 -0
  138. package/ios/generated/RNMapsSpecs/RCTComponentViewHelpers.h +591 -0
  139. package/ios/generated/RNMapsSpecs/RNMapsSpecs-generated.mm +92 -0
  140. package/ios/generated/RNMapsSpecs/RNMapsSpecs.h +137 -0
  141. package/ios/generated/RNMapsSpecs/ShadowNodes.cpp +24 -0
  142. package/ios/generated/RNMapsSpecs/ShadowNodes.h +109 -0
  143. package/ios/generated/RNMapsSpecs/States.cpp +16 -0
  144. package/ios/generated/RNMapsSpecs/States.h +113 -0
  145. package/ios/generated/RNMapsSpecsJSI-generated.cpp +74 -0
  146. package/ios/generated/RNMapsSpecsJSI.h +268 -0
  147. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  148. package/package.json +25 -18
  149. package/react-native-google-maps.podspec +26 -0
  150. package/react-native-maps-generated.podspec +31 -0
  151. package/react-native-maps.podspec +53 -15
  152. package/react-native.config.js +16 -0
  153. package/src/AnimatedRegion.ts +169 -0
  154. package/src/Geojson.tsx +541 -0
  155. package/src/MapCallout.tsx +77 -0
  156. package/src/MapCalloutSubview.tsx +64 -0
  157. package/src/MapCircle.tsx +162 -0
  158. package/src/MapHeatmap.tsx +125 -0
  159. package/src/MapLocalTile.tsx +60 -0
  160. package/src/MapMarker.tsx +531 -0
  161. package/src/MapMarkerNativeComponent.ts +51 -0
  162. package/src/MapOverlay.tsx +156 -0
  163. package/src/MapPolygon.tsx +188 -0
  164. package/src/MapPolygon.types.ts +25 -0
  165. package/src/MapPolyline.tsx +215 -0
  166. package/src/MapUrlTile.tsx +169 -0
  167. package/src/MapView.tsx +1223 -0
  168. package/src/MapView.types.ts +212 -0
  169. package/src/MapView.web.ts +2 -0
  170. package/src/MapViewNativeComponent.ts +86 -0
  171. package/src/MapWMSTile.tsx +148 -0
  172. package/src/ProviderConstants.ts +2 -0
  173. package/src/createFabricMap.tsx +253 -0
  174. package/src/decorateMapComponent.ts +219 -0
  175. package/src/fixImageProp.ts +17 -0
  176. package/src/index.ts +52 -0
  177. package/src/sharedTypes.ts +101 -0
  178. package/src/specs/NativeAirMapsModule.ts +36 -0
  179. package/src/specs/NativeComponentCallout.ts +63 -0
  180. package/src/specs/NativeComponentCircle.ts +93 -0
  181. package/src/specs/NativeComponentGoogleMapView.ts +913 -0
  182. package/src/specs/NativeComponentGooglePolygon.ts +94 -0
  183. package/src/specs/NativeComponentMapView.ts +1091 -0
  184. package/src/specs/NativeComponentMarker.ts +326 -0
  185. package/src/specs/NativeComponentOverlay.ts +89 -0
  186. package/src/specs/NativeComponentPolyline.ts +124 -0
  187. package/lib/AnimatedRegion.d.ts +0 -19
  188. package/lib/AnimatedRegion.js +0 -134
  189. package/lib/Geojson.d.ts +0 -204
  190. package/lib/Geojson.js +0 -166
  191. package/lib/MapCallout.d.ts +0 -40
  192. package/lib/MapCallout.js +0 -51
  193. package/lib/MapCalloutSubview.d.ts +0 -34
  194. package/lib/MapCalloutSubview.js +0 -48
  195. package/lib/MapCircle.d.ts +0 -117
  196. package/lib/MapCircle.js +0 -53
  197. package/lib/MapHeatmap.d.ts +0 -78
  198. package/lib/MapHeatmap.js +0 -59
  199. package/lib/MapLocalTile.d.ts +0 -35
  200. package/lib/MapLocalTile.js +0 -44
  201. package/lib/MapMarker.d.ts +0 -309
  202. package/lib/MapMarker.js +0 -116
  203. package/lib/MapMarkerNativeComponent.d.ts +0 -15
  204. package/lib/MapMarkerNativeComponent.js +0 -17
  205. package/lib/MapOverlay.d.ts +0 -87
  206. package/lib/MapOverlay.js +0 -63
  207. package/lib/MapPolygon.d.ts +0 -140
  208. package/lib/MapPolygon.js +0 -53
  209. package/lib/MapPolygon.types.d.ts +0 -18
  210. package/lib/MapPolygon.types.js +0 -2
  211. package/lib/MapPolyline.d.ts +0 -156
  212. package/lib/MapPolyline.js +0 -53
  213. package/lib/MapUrlTile.d.ts +0 -134
  214. package/lib/MapUrlTile.js +0 -44
  215. package/lib/MapView.d.ts +0 -715
  216. package/lib/MapView.js +0 -447
  217. package/lib/MapView.types.d.ts +0 -161
  218. package/lib/MapView.types.js +0 -2
  219. package/lib/MapView.web.d.ts +0 -1
  220. package/lib/MapView.web.js +0 -9
  221. package/lib/MapViewNativeComponent.d.ts +0 -18
  222. package/lib/MapViewNativeComponent.js +0 -19
  223. package/lib/MapWMSTile.d.ts +0 -116
  224. package/lib/MapWMSTile.js +0 -44
  225. package/lib/ProviderConstants.d.ts +0 -2
  226. package/lib/ProviderConstants.js +0 -5
  227. package/lib/createFabricMap.d.ts +0 -23
  228. package/lib/createFabricMap.js +0 -175
  229. package/lib/decorateMapComponent.d.ts +0 -36
  230. package/lib/decorateMapComponent.js +0 -80
  231. package/lib/index.d.ts +0 -38
  232. package/lib/index.js +0 -81
  233. package/lib/sharedTypes.d.ts +0 -81
  234. package/lib/sharedTypes.js +0 -2
  235. package/lib/sharedTypesInternal.js +0 -2
  236. package/lib/specs/NativeAirMapsModule.d.ts +0 -31
  237. package/lib/specs/NativeAirMapsModule.js +0 -4
  238. package/lib/specs/NativeComponentGoogleMapView.d.ts +0 -713
  239. package/lib/specs/NativeComponentGoogleMapView.js +0 -21
  240. package/lib/specs/NativeComponentMapView.d.ts +0 -855
  241. package/lib/specs/NativeComponentMapView.js +0 -21
  242. /package/ios/{AirMaps → generated}/RNMapsHostVewDelegate.h +0 -0
  243. /package/{lib/sharedTypesInternal.d.ts → src/sharedTypesInternal.ts} +0 -0
@@ -0,0 +1,913 @@
1
+ import type {HostComponent, ViewProps, ColorValue} from 'react-native';
2
+
3
+ import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
4
+ import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
5
+ import {
6
+ Double,
7
+ Int32,
8
+ WithDefault,
9
+ Float,
10
+ DirectEventHandler,
11
+ BubblingEventHandler,
12
+ } from 'react-native/Libraries/Types/CodegenTypes';
13
+
14
+ export type EdgePadding = Readonly<{
15
+ top: Double; // Non-nullable Double for top
16
+ right: Double; // Non-nullable Double for right
17
+ bottom: Double; // Non-nullable Double for bottom
18
+ left: Double; // Non-nullable Double for left
19
+ }>;
20
+
21
+ export type ActionType =
22
+ | 'callout-press'
23
+ | 'press'
24
+ | 'marker-press'
25
+ | 'long-press'
26
+ | 'marker-deselect'
27
+ | 'marker-select';
28
+
29
+ export type Frame = Readonly<{
30
+ x: Double;
31
+ y: Double;
32
+ width: Double;
33
+ height: Double;
34
+ }>;
35
+
36
+ export type ClickEvent = BubblingEventHandler<
37
+ Readonly<{
38
+ coordinate: {
39
+ latitude: Double; // Inlined LatLng
40
+ longitude: Double;
41
+ };
42
+ position: {
43
+ x: Double; // Inlined Point
44
+ y: Double;
45
+ };
46
+ }>
47
+ >;
48
+
49
+ export type KmlMarker = {
50
+ id: string; // Non-nullable string
51
+ title: string; // Non-nullable string
52
+ description: string; // Non-nullable string
53
+ coordinate: {
54
+ latitude: Double; // Inlined LatLng
55
+ longitude: Double;
56
+ }; // Non-nullable LatLng
57
+ position: {
58
+ x: Double; // Inlined Point
59
+ y: Double;
60
+ }; // Non-nullable Point
61
+ };
62
+
63
+ export type LongPressEventHandler = BubblingEventHandler<
64
+ Readonly<{
65
+ coordinate: {
66
+ latitude: Double; // Inlined LatLng
67
+ longitude: Double;
68
+ };
69
+ position: {
70
+ x: Double; // Inlined Point
71
+ y: Double;
72
+ };
73
+ action?: string;
74
+ }>
75
+ >;
76
+
77
+ export type MarkerDeselectEventHandler = BubblingEventHandler<
78
+ Readonly<{
79
+ action?: string;
80
+ id: string;
81
+ coordinate: {
82
+ latitude: Double; // Inlined LatLng
83
+ longitude: Double;
84
+ };
85
+ }>
86
+ >;
87
+
88
+ export type MarkerSelectEventHandler = BubblingEventHandler<
89
+ Readonly<{
90
+ action?: string;
91
+ id: string;
92
+ coordinate: {
93
+ latitude: Double; // Inlined LatLng
94
+ longitude: Double;
95
+ };
96
+ }>
97
+ >;
98
+
99
+ export type CalloutPressEvent = BubblingEventHandler<{
100
+ action?: string;
101
+
102
+ /**
103
+ * @platform iOS
104
+ */
105
+ frame?: {
106
+ x: Double;
107
+ y: Double;
108
+ width: Double;
109
+ height: Double;
110
+ };
111
+
112
+ /**
113
+ * @platform iOS
114
+ */
115
+ id?: string;
116
+
117
+ /**
118
+ * @platform iOS
119
+ */
120
+ point?: {
121
+ x: Double; // Non-nullable Double for x
122
+ y: Double; // Non-nullable Double for y
123
+ };
124
+
125
+ /**
126
+ * @platform Android
127
+ */
128
+ coordinate?: {
129
+ latitude: Double; // Non-nullable Double for latitude
130
+ longitude: Double; // Non-nullable Double for longitude
131
+ };
132
+
133
+ /**
134
+ * @platform Android
135
+ */
136
+ position?: {
137
+ x: Double; // Non-nullable Double for x
138
+ y: Double; // Non-nullable Double for y
139
+ };
140
+ }>;
141
+
142
+ export type CalloutPressEventHandler = DirectEventHandler<CalloutPressEvent>;
143
+
144
+ export type Camera = Readonly<{
145
+ /**
146
+ * Apple Maps
147
+ */
148
+ altitude?: Double; // Nullable Double for altitude
149
+ center: LatLng; // Non-nullable center
150
+ heading: Double; // Non-nullable Double for heading
151
+ pitch: Double; // Non-nullable Double for pitch
152
+
153
+ /**
154
+ * Google Maps
155
+ */
156
+ zoom?: Float; // Nullable Double for zoom
157
+ }>;
158
+
159
+ export type LatLng = Readonly<{
160
+ latitude: Double; // Non-nullable Double for latitude
161
+ longitude: Double; // Non-nullable Double for longitude
162
+ }>;
163
+
164
+ export type Point = Readonly<{
165
+ x: Double; // Non-nullable Double for x
166
+ y: Double; // Non-nullable Double for y
167
+ }>;
168
+
169
+ export type Region = Readonly<
170
+ LatLng & {
171
+ latitudeDelta: Double; // Non-nullable Double for latitudeDelta
172
+ longitudeDelta: Double; // Non-nullable Double for longitudeDelta
173
+ }
174
+ >;
175
+
176
+ export type IndoorLevel = Readonly<{
177
+ index: Int32; // Int32 for integers
178
+ name: string; // Non-nullable string
179
+ shortName: string; // Non-nullable string
180
+ }>;
181
+
182
+ export type IndoorLevelActivatedEventHandler = DirectEventHandler<
183
+ Readonly<{
184
+ activeLevelIndex: Int32; // Int32 for integers
185
+ name: string; // Non-nullable string
186
+ shortName: string; // Non-nullable string
187
+ }>
188
+ >;
189
+
190
+ export type IndoorBuilding = Readonly<{
191
+ underground: boolean; // Non-nullable boolean
192
+ activeLevelIndex: Int32; // Int32 for integers
193
+ levels: ReadonlyArray<IndoorLevel>; // Immutable array of IndoorLevel
194
+ }>;
195
+
196
+ export type IndoorBuildingEventHandler = DirectEventHandler<
197
+ Readonly<{
198
+ underground: boolean; // Non-nullable boolean
199
+ activeLevelIndex: Int32; // Int32 for integers
200
+ levels: string; // Immutable array of IndoorLevel
201
+ }>
202
+ >;
203
+
204
+ export type KmlMapEventHandler = DirectEventHandler<Readonly<{}>>;
205
+
206
+ export type MapLoadedEventHandler = DirectEventHandler<Readonly<{}>>;
207
+
208
+ export type MapReadyEventHandler = DirectEventHandler<Readonly<{}>>;
209
+
210
+ export type Details = Readonly<{
211
+ isGesture?: boolean; // Optional boolean for gesture detail
212
+ }>;
213
+
214
+ export type MarkerDragEventHandler = BubblingEventHandler<
215
+ Readonly<{
216
+ coordinate: {
217
+ latitude: Double; // Inlined LatLng
218
+ longitude: Double;
219
+ };
220
+ position: {
221
+ x: Double; // Inlined Point
222
+ y: Double;
223
+ };
224
+ id?: string; // Optional id for iOS
225
+ }>
226
+ >;
227
+
228
+ export type MarkerDragStartEndEventHandler = BubblingEventHandler<
229
+ Readonly<{
230
+ coordinate: {
231
+ latitude: Double; // Inlined LatLng
232
+ longitude: Double;
233
+ };
234
+ id?: string; // Optional id for iOS
235
+ position?: {
236
+ x: Double; // Inlined Point
237
+ y: Double;
238
+ }; // Optional position for Android
239
+ }>
240
+ >;
241
+
242
+ export type MarkerPressEventHandler = BubblingEventHandler<
243
+ Readonly<{
244
+ action?: string;
245
+ id: string;
246
+ coordinate: {
247
+ latitude: Double; // Inlined LatLng
248
+ longitude: Double;
249
+ };
250
+ position?: {
251
+ x: Double; // Inlined Point
252
+ y: Double;
253
+ }; // Optional position for Android
254
+ }>
255
+ >;
256
+
257
+ export type PanDragEventHandler = BubblingEventHandler<
258
+ Readonly<{
259
+ coordinate: {
260
+ latitude: Double; // Inlined LatLng
261
+ longitude: Double;
262
+ };
263
+ position: {
264
+ x: Double; // Inlined Point
265
+ y: Double;
266
+ };
267
+ }>
268
+ >;
269
+
270
+ export type PoiClickEventHandler = BubblingEventHandler<
271
+ Readonly<{
272
+ placeId: string;
273
+ name: string;
274
+ coordinate: {
275
+ latitude: Double; // Inlined LatLng
276
+ longitude: Double;
277
+ };
278
+ position?: {
279
+ x: Double; // Inlined Point
280
+ y: Double;
281
+ }; // Optional position for Android
282
+ }>
283
+ >;
284
+
285
+ export type MapPressEventHandler = BubblingEventHandler<
286
+ Readonly<{
287
+ coordinate: {
288
+ latitude: Double; // Inlined LatLng
289
+ longitude: Double;
290
+ };
291
+ position: {
292
+ x: Double; // Inlined Point
293
+ y: Double;
294
+ };
295
+ action?: string;
296
+ }>
297
+ >;
298
+
299
+ export type RegionChangeStartEventHandler = DirectEventHandler<Details>;
300
+
301
+ export type RegionChangeEvent = Readonly<{
302
+ region: {
303
+ latitude: Double; // Non-nullable Double for latitude
304
+ longitude: Double;
305
+ latitudeDelta: Double; // Non-nullable Double for latitudeDelta
306
+ longitudeDelta: Double; // Non-nullable Double for longitudeDelta
307
+ }; // The region object
308
+ continuous?: boolean;
309
+ }>;
310
+
311
+ export type RegionChangeEventHandler = BubblingEventHandler<RegionChangeEvent>;
312
+
313
+ export type UserLocationChangeEvent = Readonly<{
314
+ coordinate?: {
315
+ latitude: Double; // Non-nullable Double for latitude
316
+ longitude: Double;
317
+ altitude: Double; // Use Double for numeric values
318
+ timestamp: Double;
319
+ accuracy: Float;
320
+ speed: Float;
321
+ heading: Float;
322
+
323
+ /**
324
+ * @platform iOS
325
+ */
326
+ altitudeAccuracy?: Float; // Optional altitude accuracy
327
+
328
+ /**
329
+ * @platform Android
330
+ */
331
+ isFromMockProvider?: boolean; // Optional boolean for mock provider
332
+ };
333
+
334
+ /**
335
+ * @platform iOS
336
+ */
337
+ error?: Readonly<{
338
+ message: string; // Error message as string
339
+ }>;
340
+ }>;
341
+
342
+ export type UserLocationChangeEventHandler =
343
+ DirectEventHandler<UserLocationChangeEvent>;
344
+
345
+ export type CameraZoomRange = Readonly<{
346
+ minCenterCoordinateDistance?: Double; // Use Double for numeric values
347
+ maxCenterCoordinateDistance?: Double; // Use Double for numeric values
348
+ animated?: boolean; // Non-nullable boolean
349
+ }>;
350
+
351
+ export interface MapFabricNativeProps extends ViewProps {
352
+ /**
353
+ * The camera view the map should display.
354
+ *
355
+ * Use the camera system, instead of the region system, if you need control over
356
+ * the pitch or heading. Using this will ignore the `region` property.
357
+ * @platform iOS: Supported
358
+ * @platform Android: Supported
359
+ */
360
+ camera?: Camera;
361
+
362
+ /**
363
+ * The initial camera view the map should use. Use this prop instead of `camera`
364
+ * only if you don't want to control the camera of the map besides the initial view.
365
+ *
366
+ * Use the camera system, instead of the region system, if you need control over
367
+ * the pitch or heading.
368
+ *
369
+ * Changing this prop after the component has mounted will not result in a camera change.
370
+ *
371
+ * This is similar to the `initialValue` prop of a text input.
372
+ *
373
+ * @platform iOS: Supported
374
+ * @platform Android: Supported
375
+ */
376
+ initialCamera?: Camera;
377
+
378
+ /**
379
+ * The initial region to be displayed by the map. Use this prop instead of `region`
380
+ * only if you don't want to control the viewport of the map besides the initial region.
381
+ *
382
+ * Changing this prop after the component has mounted will not result in a region change.
383
+ *
384
+ * This is similar to the `initialValue` prop of a text input.
385
+ *
386
+ * @platform iOS: Supported
387
+ * @platform Android: Supported
388
+ */
389
+ initialRegion?: Region;
390
+
391
+ /**
392
+ * The URL for KML file.
393
+ *
394
+ * @platform iOS: Google Maps only
395
+ * @platform Android: Supported
396
+ */
397
+ kmlSrc?: string;
398
+
399
+ /**
400
+ * https://developers.google.com/maps/documentation/get-map-id
401
+ * google cloud mapId to enable cloud styling and more
402
+ */
403
+ googleMapId?: string;
404
+
405
+ /**
406
+ * Sets loading background color.
407
+ *
408
+ * @default `#FFFFFF`
409
+ * @platform iOS: Supported
410
+ * @platform Android: Supported
411
+ */
412
+ loadingBackgroundColor?: ColorValue;
413
+
414
+ /**
415
+ * Adds custom padding to each side of the map. Useful when map elements/markers are obscured.
416
+ *
417
+ * @platform iOS: Supported
418
+ * @platform Android: Supported
419
+ */
420
+ mapPadding?: EdgePadding;
421
+
422
+ /**
423
+ * The map type to be displayed
424
+ *
425
+ * @default `standard`
426
+ * @platform iOS: hybrid | mutedStandard | satellite | standard | terrain | hybridFlyover | satelliteFlyover
427
+ * @platform Android: hybrid | none | satellite | standard | terrain
428
+ */
429
+ mapType?: WithDefault<
430
+ | 'hybrid'
431
+ | 'mutedStandard'
432
+ | 'none'
433
+ | 'satellite'
434
+ | 'standard'
435
+ | 'terrain'
436
+ | 'satelliteFlyover'
437
+ | 'hybridFlyover',
438
+ 'standard'
439
+ >;
440
+
441
+ /**
442
+ * Maximum zoom value for the map, must be between 0 and 20
443
+ *
444
+ * @default 20
445
+ * @platform iOS: Supported
446
+ * @platform Android: Supported
447
+ * @deprecated on Apple Maps, use `cameraZoomRange` instead
448
+ */
449
+ maxZoom?: Float;
450
+
451
+ /**
452
+ * Minimum zoom value for the map, must be between 0 and 20
453
+ *
454
+ * @default 0
455
+ * @platform iOS: Supported
456
+ * @platform Android: Supported
457
+ * @deprecated on Apple Maps, use `cameraZoomRange` instead
458
+ */
459
+ minZoom?: Float;
460
+
461
+ /**
462
+ * Callback that is called when an indoor building is focused/unfocused
463
+ *
464
+ * @platform iOS: Google Maps only
465
+ * @platform Android: Supported
466
+ */
467
+ onIndoorBuildingFocused?: IndoorBuildingEventHandler;
468
+
469
+ /**
470
+ * Callback that is called when a level on indoor building is activated
471
+ *
472
+ * @platform iOS: Google Maps only
473
+ * @platform Android: Supported
474
+ */
475
+ onIndoorLevelActivated?: IndoorLevelActivatedEventHandler;
476
+
477
+ /**
478
+ * Callback that is called once the kml is fully loaded.
479
+ *
480
+ * @platform iOS: Google Maps only
481
+ * @platform Android: Supported
482
+ */
483
+ onKmlReady?: KmlMapEventHandler;
484
+
485
+ /**
486
+ * Callback that is called when user makes a "long press" somewhere on the map.
487
+ *
488
+ * @platform iOS: Supported
489
+ * @platform Android: Supported
490
+ */
491
+ onLongPress?: LongPressEventHandler;
492
+
493
+ /**
494
+ * Callback that is called when the map has finished rendering all tiles.
495
+ *
496
+ * @platform iOS: Google Maps only
497
+ * @platform Android: Supported
498
+ */
499
+ onMapLoaded?: MapLoadedEventHandler;
500
+
501
+ /**
502
+ * Callback that is called once the map is ready.
503
+ *
504
+ * Event is optional, as the first onMapReady callback is intercepted
505
+ * on Android, and the event is not passed on.
506
+ *
507
+ * @platform iOS: Supported
508
+ * @platform Android: Supported
509
+ */
510
+ onMapReady?: MapReadyEventHandler;
511
+
512
+ /**
513
+ * Callback that is called when a marker on the map becomes deselected.
514
+ * This will be called when the callout for that marker is about to be hidden.
515
+ *
516
+ * @platform iOS: Supported
517
+ * @platform Android: Supported
518
+ */
519
+ onMarkerDeselect?: MarkerDeselectEventHandler;
520
+
521
+ /**
522
+ * Callback called continuously as a marker is dragged
523
+ *
524
+ * @platform iOS: Apple Maps only
525
+ * @platform Android: Supported
526
+ */
527
+ onMarkerDrag?: MarkerDragEventHandler;
528
+
529
+ /**
530
+ * Callback that is called when a drag on a marker finishes.
531
+ * This is usually the point you will want to setState on the marker's coordinate again
532
+ *
533
+ * @platform iOS: Apple Maps only
534
+ * @platform Android: Supported
535
+ */
536
+ onMarkerDragEnd?: MarkerDragStartEndEventHandler;
537
+
538
+ /**
539
+ * Callback that is called when the user initiates a drag on a marker (if it is draggable)
540
+ *
541
+ * @platform iOS: Apple Maps only
542
+ * @platform Android: Supported
543
+ */
544
+ onMarkerDragStart?: MarkerDragStartEndEventHandler;
545
+
546
+ /**
547
+ * Callback that is called when a marker on the map is tapped by the user.
548
+ *
549
+ * @platform iOS: Supported
550
+ * @platform Android: Supported
551
+ */
552
+ onMarkerPress?: MarkerPressEventHandler;
553
+
554
+ /**
555
+ * Callback that is called when a marker on the map becomes selected.
556
+ * This will be called when the callout for that marker is about to be shown.
557
+ *
558
+ * @platform iOS: Supported.
559
+ * @platform Android: Supported
560
+ */
561
+ onMarkerSelect?: MarkerSelectEventHandler;
562
+
563
+ /**
564
+ * Callback that is called when user presses and drags the map.
565
+ * **NOTE**: for iOS `scrollEnabled` should be set to false to trigger the event
566
+ *
567
+ * @platform iOS: Supported
568
+ * @platform Android: Supported
569
+ */
570
+ onPanDrag?: PanDragEventHandler;
571
+
572
+ /**
573
+ * Callback that is called when user click on a POI.
574
+ *
575
+ * @platform iOS: Google Maps only
576
+ * @platform Android: Supported
577
+ */
578
+ onPoiClick?: PoiClickEventHandler;
579
+
580
+ /**
581
+ * Callback that is called when user taps on the map.
582
+ *
583
+ * @platform iOS: Supported
584
+ * @platform Android: Supported
585
+ */
586
+ onPress?: MapPressEventHandler;
587
+
588
+ /**
589
+ * Callback that is called once before the region changes, such as when the user starts moving the map.
590
+ * `isGesture` property indicates if the move was from the user (true) or an animation (false).
591
+ * **Note**: `isGesture` is supported by Google Maps only.
592
+ *
593
+ * @platform iOS: Supported
594
+ * @platform Android: Supported
595
+ */
596
+ onRegionChangeStart?: RegionChangeEventHandler;
597
+
598
+ /**
599
+ * Callback that is called continuously when the region changes, such as when a user is dragging the map.
600
+ * `isGesture` property indicates if the move was from the user (true) or an animation (false).
601
+ * **Note**: `isGesture` is supported by Google Maps only.
602
+ *
603
+ * @platform iOS: Supported
604
+ * @platform Android: Supported
605
+ */
606
+ onRegionChange?: RegionChangeEventHandler;
607
+
608
+ /**
609
+ * Callback that is called once when the region changes, such as when the user is done moving the map.
610
+ * `isGesture` property indicates if the move was from the user (true) or an animation (false).
611
+ * **Note**: `isGesture` is supported by Google Maps only.
612
+ *
613
+ * @platform iOS: Supported
614
+ * @platform Android: Supported
615
+ */
616
+ onRegionChangeComplete?: RegionChangeEventHandler;
617
+
618
+ /**
619
+ * Callback that is called when the underlying map figures our users current location
620
+ * (coordinate also includes isFromMockProvider value for Android API 18 and above).
621
+ * Make sure **showsUserLocation** is set to *true*.
622
+ *
623
+ * @platform iOS: Supported
624
+ * @platform Android: Supported
625
+ */
626
+ onUserLocationChange?: UserLocationChangeEventHandler;
627
+
628
+ /**
629
+ * Indicates how/when to affect padding with safe area insets
630
+ *
631
+ * @platform iOS: Google Maps only
632
+ * @platform Android: Not supported
633
+ */
634
+ paddingAdjustmentBehavior?: WithDefault<
635
+ 'always' | 'automatic' | 'never',
636
+ 'never'
637
+ >;
638
+
639
+ /**
640
+ * If `false` the user won't be able to adjust the camera’s pitch angle.
641
+ *
642
+ * @default true
643
+ * @platform iOS: Google Maps only
644
+ * @platform Android: Supported
645
+ */
646
+ pitchEnabled?: WithDefault<boolean, true>;
647
+
648
+ /**
649
+ * The region to be displayed by the map.
650
+ * The region is defined by the center coordinates and the span of coordinates to display.
651
+ *
652
+ * @platform iOS: Supported
653
+ * @platform Android: Supported
654
+ */
655
+ region?: Region;
656
+
657
+ /**
658
+ * If `false` the user won't be able to adjust the camera’s pitch angle.
659
+ *
660
+ * @default true
661
+ * @platform iOS: Google Maps only
662
+ * @platform Android: Supported
663
+ */
664
+ rotateEnabled?: WithDefault<boolean, true>;
665
+
666
+ /**
667
+ * If `false` the map will stay centered while rotating or zooming.
668
+ *
669
+ * @default true
670
+ * @platform iOS: Google Maps only
671
+ * @platform Android: Supported
672
+ */
673
+ scrollDuringRotateOrZoomEnabled?: WithDefault<boolean, true>;
674
+
675
+ /**
676
+ * If `false` the user won't be able to change the map region being displayed.
677
+ *
678
+ * @default true
679
+ * @platform iOS: Supported
680
+ * @platform Android: Supported
681
+ */
682
+ scrollEnabled?: WithDefault<boolean, true>;
683
+
684
+ /**
685
+ * A Boolean indicating whether the map displays extruded building information.
686
+ *
687
+ * @default true
688
+ * @platform iOS: Not supported
689
+ * @platform Android: Supported
690
+ */
691
+ showsBuildings?: WithDefault<boolean, true>;
692
+
693
+ /**
694
+ * If `false` compass won't be displayed on the map.
695
+ *
696
+ * @default true
697
+ * @platform iOS: Supported
698
+ * @platform Android: Supported
699
+ */
700
+ showsCompass?: WithDefault<boolean, true>;
701
+
702
+ /**
703
+ * A Boolean indicating whether indoor level picker should be enabled.
704
+ *
705
+ * @default false
706
+ * @platform iOS: Google Maps only
707
+ * @platform Android: Supported
708
+ */
709
+ showsIndoorLevelPicker?: boolean;
710
+
711
+ /**
712
+ * A Boolean indicating whether indoor maps should be enabled.
713
+ *
714
+ * @default true
715
+ * @platform iOS: Google Maps only
716
+ * @platform Android: Supported
717
+ */
718
+ showsIndoors?: WithDefault<boolean, true>;
719
+
720
+ /**
721
+ * If `false` hide the button to move map to the current user's location.
722
+ *
723
+ * @default true
724
+ * @platform iOS: Google Maps only
725
+ * @platform Android: Supported
726
+ */
727
+ showsMyLocationButton?: WithDefault<boolean, true>;
728
+
729
+ /**
730
+ * If `false` points of interest won't be displayed on the map.
731
+ * TODO: DEPRECATED? Doesn't seem to do anything
732
+ *
733
+ * @default true
734
+ * @platform iOS: Maybe Apple Maps?
735
+ * @platform Android: Not supported
736
+ */
737
+ showsPointsOfInterest?: boolean;
738
+
739
+ /**
740
+ * A Boolean indicating whether the map shows scale information.
741
+ *
742
+ * @default true
743
+ * @platform iOS: Apple Maps only
744
+ * @platform Android: Not supported
745
+ */
746
+ showsScale?: boolean;
747
+
748
+ /**
749
+ * A Boolean value indicating whether the map displays traffic information.
750
+ *
751
+ * @default false
752
+ * @platform iOS: Supported
753
+ * @platform Android: Not supported?
754
+ */
755
+ showsTraffic?: boolean;
756
+
757
+ /**
758
+ * If `true` the users location will be displayed on the map.
759
+ *
760
+ * This will cause iOS to ask for location permissions.
761
+ * For iOS see: [DOCS](https://github.com/react-native-maps/react-native-maps/blob/master/docs/installation.md#set-the-usage-description-property)
762
+ * @default false
763
+ * @platform iOS: Supported
764
+ * @platform Android: Supported
765
+ */
766
+ showsUserLocation?: boolean;
767
+
768
+ /**
769
+ * Sets the map to the style selected.
770
+ *
771
+ * @default System setting
772
+ * @platform iOS: Supported
773
+ * @platform Android: Supported
774
+ */
775
+ userInterfaceStyle?: WithDefault<'system' | 'light' | 'dark', 'system'>;
776
+
777
+ /**
778
+ * If `true` clicking user location will show the default callout for userLocation annotation.
779
+ *
780
+ * @default false
781
+ * @platform iOS: Apple Maps only
782
+ * @platform Android: Not supported
783
+ */
784
+ userLocationCalloutEnabled?: boolean;
785
+
786
+ /**
787
+ * Fastest interval the application will actively acquire locations.
788
+ *
789
+ * See [Google APIs documentation](https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html)
790
+ *
791
+ * @default 5000
792
+ * @platform iOS: Not supported
793
+ * @platform Android: Supported
794
+ */
795
+ userLocationFastestInterval?: Int32;
796
+
797
+ /**
798
+ * Set power priority of user location tracking.
799
+ *
800
+ * See [Google APIs documentation](https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html)
801
+ *
802
+ * @default `high`
803
+ * @platform iOS: Not supported
804
+ * @platform Android: Supported
805
+ */
806
+ userLocationPriority?: WithDefault<
807
+ 'balanced' | 'high' | 'low' | 'passive',
808
+ 'high'
809
+ >;
810
+
811
+ /**
812
+ * Interval of user location updates in milliseconds.
813
+ *
814
+ * See [Google APIs documentation](https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html)
815
+ *
816
+ * @default 5000
817
+ * @platform iOS: Not supported
818
+ * @platform Android: Supported
819
+ */
820
+ userLocationUpdateInterval?: Int32;
821
+
822
+ /**
823
+ * If `false` the zoom control at the bottom right of the map won't be visible.
824
+ *
825
+ * @default true
826
+ * @platform iOS: Not supported
827
+ * @platform Android: Supported
828
+ */
829
+ zoomControlEnabled?: boolean;
830
+
831
+ /**
832
+ * If `false` the user won't be able to pinch/zoom the map.
833
+ *
834
+ * TODO: Why is the Android reactprop defaultvalue set to false?
835
+ *
836
+ * @default true
837
+ * @platform iOS: Supported
838
+ * @platform Android: Supported
839
+ */
840
+ zoomEnabled?: WithDefault<boolean, true>;
841
+
842
+ /**
843
+ * If `false` the user won't be able to double tap to zoom the map.
844
+ * **Note:** But it will greatly decrease delay of tap gesture recognition.
845
+ *
846
+ * @default true
847
+ * @platform iOS: Google Maps only
848
+ * @platform Android: Not supported
849
+ */
850
+ zoomTapEnabled?: WithDefault<boolean, true>;
851
+ }
852
+
853
+ export interface NativeCommands {
854
+ animateToRegion: (
855
+ viewRef: React.ElementRef<React.ComponentType>,
856
+ regionJSON: string,
857
+ duration: Int32,
858
+ ) => void;
859
+
860
+ setCamera: (
861
+ viewRef: React.ElementRef<React.ComponentType>,
862
+ cameraJSON: string,
863
+ ) => void;
864
+
865
+ animateCamera: (
866
+ viewRef: React.ElementRef<React.ComponentType>,
867
+ cameraJSON: string,
868
+ duration: Int32,
869
+ ) => void;
870
+
871
+ fitToElements: (
872
+ viewRef: React.ElementRef<React.ComponentType>,
873
+ edgePaddingJSON: string,
874
+ animated: boolean,
875
+ ) => void;
876
+
877
+ fitToSuppliedMarkers: (
878
+ viewRef: React.ElementRef<React.ComponentType>,
879
+ markersJSON: string,
880
+ edgePaddingJSON: string,
881
+ animated: boolean,
882
+ ) => void;
883
+
884
+ fitToCoordinates: (
885
+ viewRef: React.ElementRef<React.ComponentType>,
886
+ coordinatesJSON: string,
887
+ edgePaddingJSON: string,
888
+ animated: boolean,
889
+ ) => void;
890
+ setIndoorActiveLevelIndex: (
891
+ viewRef: React.ElementRef<React.ComponentType>,
892
+ activeLevelIndex: Int32,
893
+ ) => void;
894
+ }
895
+
896
+ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
897
+ supportedCommands: [
898
+ 'animateToRegion',
899
+ 'setCamera',
900
+ 'animateCamera',
901
+ 'fitToElements',
902
+ 'fitToSuppliedMarkers',
903
+ 'fitToCoordinates',
904
+ 'setIndoorActiveLevelIndex',
905
+ ],
906
+ });
907
+
908
+ export default codegenNativeComponent<MapFabricNativeProps>(
909
+ 'RNMapsGoogleMapView',
910
+ {
911
+ excludedPlatforms: ['android'],
912
+ },
913
+ ) as HostComponent<MapFabricNativeProps>;