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
package/lib/MapView.js DELETED
@@ -1,447 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.AnimatedMapView = exports.MAP_TYPES = void 0;
30
- const React = __importStar(require("react"));
31
- const react_native_1 = require("react-native");
32
- const decorateMapComponent_1 = require("./decorateMapComponent");
33
- const MapViewNativeComponent_1 = require("./MapViewNativeComponent");
34
- const NativeComponentMapView_1 = __importStar(require("./specs/NativeComponentMapView"));
35
- const NativeComponentGoogleMapView_1 = __importStar(require("./specs/NativeComponentGoogleMapView"));
36
- const createFabricMap_1 = __importDefault(require("./createFabricMap"));
37
- const FabricMap = (0, createFabricMap_1.default)(NativeComponentMapView_1.default, NativeComponentMapView_1.Commands);
38
- const FabricGoogleMap = (0, createFabricMap_1.default)(NativeComponentGoogleMapView_1.default, NativeComponentGoogleMapView_1.Commands);
39
- exports.MAP_TYPES = {
40
- STANDARD: 'standard',
41
- SATELLITE: 'satellite',
42
- HYBRID: 'hybrid',
43
- TERRAIN: 'terrain',
44
- NONE: 'none',
45
- MUTEDSTANDARD: 'mutedStandard',
46
- SATELLITE_FLYOVER: 'satelliteFlyover',
47
- HYBRID_FLYOVER: 'hybridFlyover',
48
- };
49
- class MapView extends React.Component {
50
- static Animated;
51
- map;
52
- fabricMap;
53
- constructor(props) {
54
- super(props);
55
- this.map = React.createRef();
56
- this.fabricMap = React.createRef();
57
- this.state = {
58
- isReady: false,
59
- };
60
- this._onMapReady = this._onMapReady.bind(this);
61
- this._onChange = this._onChange.bind(this);
62
- }
63
- setNativeProps(props) {
64
- // @ts-ignore
65
- this.map.current?.setNativeProps(props);
66
- }
67
- _onMapReady() {
68
- const { onMapReady } = this.props;
69
- this.setState({ isReady: true }, () => {
70
- if (onMapReady) {
71
- onMapReady();
72
- }
73
- });
74
- }
75
- _onChange({ nativeEvent }) {
76
- const isGesture = nativeEvent.isGesture;
77
- const details = { isGesture };
78
- if (nativeEvent.continuous) {
79
- if (this.props.onRegionChange) {
80
- this.props.onRegionChange(nativeEvent.region, details);
81
- }
82
- }
83
- else if (this.props.onRegionChangeComplete) {
84
- this.props.onRegionChangeComplete(nativeEvent.region, details);
85
- }
86
- }
87
- getCamera() {
88
- if (react_native_1.Platform.OS === 'android') {
89
- return react_native_1.NativeModules.AirMapModule.getCamera(this._getHandle());
90
- }
91
- else if (react_native_1.Platform.OS === 'ios') {
92
- if (this.fabricMap.current) {
93
- return this.fabricMap.current.getCamera();
94
- }
95
- }
96
- return Promise.reject('getCamera not supported on this platform');
97
- }
98
- setCamera(camera) {
99
- if (this.fabricMap.current) {
100
- this.fabricMap.current.setCamera(camera);
101
- }
102
- else if (this.map.current) {
103
- MapViewNativeComponent_1.Commands.setCamera(this.map.current, camera);
104
- }
105
- }
106
- animateCamera(camera, opts) {
107
- if (this.fabricMap.current) {
108
- this.fabricMap.current.animateCamera(camera, opts?.duration ? opts.duration : 500);
109
- }
110
- else if (this.map.current) {
111
- MapViewNativeComponent_1.Commands.animateCamera(this.map.current, camera, opts?.duration ? opts.duration : 500);
112
- }
113
- }
114
- animateToRegion(region, duration = 500) {
115
- if (this.fabricMap.current) {
116
- this.fabricMap.current.animateToRegion(region, duration);
117
- }
118
- else if (this.map.current) {
119
- MapViewNativeComponent_1.Commands.animateToRegion(this.map.current, region, duration);
120
- }
121
- }
122
- fitToElements(options = {}) {
123
- const { edgePadding = { top: 0, right: 0, bottom: 0, left: 0 }, animated = true, } = options;
124
- if (this.fabricMap.current) {
125
- this.fabricMap.current.fitToElements(edgePadding, animated);
126
- }
127
- else if (this.map.current) {
128
- MapViewNativeComponent_1.Commands.fitToElements(this.map.current, edgePadding, animated);
129
- }
130
- }
131
- fitToSuppliedMarkers(markers, options = {}) {
132
- const { edgePadding = { top: 0, right: 0, bottom: 0, left: 0 }, animated = true, } = options;
133
- if (this.fabricMap.current) {
134
- this.fabricMap.current.fitToSuppliedMarkers(markers, edgePadding, animated);
135
- }
136
- else if (this.map.current) {
137
- MapViewNativeComponent_1.Commands.fitToSuppliedMarkers(this.map.current, markers, edgePadding, animated);
138
- }
139
- }
140
- fitToCoordinates(coordinates = [], options = {}) {
141
- const { edgePadding = { top: 0, right: 0, bottom: 0, left: 0 }, animated = true, } = options;
142
- if (this.fabricMap.current) {
143
- this.fabricMap.current.fitToCoordinates(coordinates, edgePadding, animated);
144
- }
145
- else if (this.map.current) {
146
- MapViewNativeComponent_1.Commands.fitToCoordinates(this.map.current, coordinates, edgePadding, animated);
147
- }
148
- }
149
- /**
150
- * Get visible boudaries
151
- *
152
- * @return Promise Promise with the bounding box ({ northEast: <LatLng>, southWest: <LatLng> })
153
- */
154
- async getMapBoundaries() {
155
- if (react_native_1.Platform.OS === 'android') {
156
- return await react_native_1.NativeModules.AirMapModule.getMapBoundaries(this._getHandle());
157
- }
158
- else if (react_native_1.Platform.OS === 'ios') {
159
- if (this.fabricMap.current) {
160
- return this.fabricMap.current.getMapBoundaries();
161
- }
162
- }
163
- return Promise.reject('getMapBoundaries not supported on this platform');
164
- }
165
- setMapBoundaries(northEast, southWest) {
166
- if (this.map.current) {
167
- MapViewNativeComponent_1.Commands.setMapBoundaries(this.map.current, northEast, southWest);
168
- }
169
- }
170
- setIndoorActiveLevelIndex(activeLevelIndex) {
171
- if (this.map.current) {
172
- MapViewNativeComponent_1.Commands.setIndoorActiveLevelIndex(this.map.current, activeLevelIndex);
173
- }
174
- }
175
- /**
176
- * Takes a snapshot of the map and saves it to a picture
177
- * file or returns the image as a base64 encoded string.
178
- *
179
- * @param args Configuration options
180
- * @param [args.width] Width of the rendered map-view (when omitted actual view width is used).
181
- * @param [args.height] Height of the rendered map-view (when omitted actual height is used).
182
- * @param [args.region] Region to render (Only supported on iOS).
183
- * @param [args.format] Encoding format ('png', 'jpg') (default: 'png').
184
- * @param [args.quality] Compression quality (only used for jpg) (default: 1.0).
185
- * @param [args.result] Result format ('file', 'base64') (default: 'file').
186
- *
187
- * @return Promise Promise with either the file-uri or base64 encoded string
188
- */
189
- takeSnapshot(args) {
190
- // Sanitize inputs
191
- const config = {
192
- width: args.width || 0,
193
- height: args.height || 0,
194
- region: args.region || {},
195
- format: args.format || 'png',
196
- quality: args.quality || 1.0,
197
- result: args.result || 'file',
198
- };
199
- if (config.format !== 'png' && config.format !== 'jpg') {
200
- throw new Error('Invalid format specified');
201
- }
202
- if (config.result !== 'file' && config.result !== 'base64') {
203
- throw new Error('Invalid result specified');
204
- }
205
- // Call native function
206
- if (react_native_1.Platform.OS === 'android') {
207
- return react_native_1.NativeModules.AirMapModule.takeSnapshot(this._getHandle(), config);
208
- }
209
- else if (react_native_1.Platform.OS === 'ios') {
210
- if (this.fabricMap.current) {
211
- // @ts-ignore
212
- return this.fabricMap.current.takeSnapshot(config);
213
- }
214
- }
215
- return Promise.reject('takeSnapshot not supported on this platform');
216
- }
217
- /**
218
- * Convert a coordinate to address by using default Geocoder
219
- *
220
- * @param coordinate Coordinate
221
- * @param [coordinate.latitude] Latitude
222
- * @param [coordinate.longitude] Longitude
223
- *
224
- * @return Promise with return type Address
225
- */
226
- addressForCoordinate(coordinate) {
227
- if (react_native_1.Platform.OS === 'android') {
228
- return react_native_1.NativeModules.AirMapModule.getAddressFromCoordinates(this._getHandle(), coordinate);
229
- }
230
- else if (react_native_1.Platform.OS === 'ios') {
231
- if (this.fabricMap.current) {
232
- return this.fabricMap.current.getAddressFromCoordinates(coordinate);
233
- }
234
- }
235
- return Promise.reject('getAddress not supported on this platform');
236
- }
237
- /**
238
- * Convert a map coordinate to user-space point
239
- *
240
- * @param coordinate Coordinate
241
- * @param [coordinate.latitude] Latitude
242
- * @param [coordinate.longitude] Longitude
243
- *
244
- * @return Promise Promise with the point ({ x: Number, y: Number })
245
- */
246
- pointForCoordinate(coordinate) {
247
- if (react_native_1.Platform.OS === 'android') {
248
- return react_native_1.NativeModules.AirMapModule.pointForCoordinate(this._getHandle(), coordinate);
249
- }
250
- else if (react_native_1.Platform.OS === 'ios') {
251
- if (this.fabricMap.current) {
252
- return this.fabricMap.current.getPointForCoordinate(coordinate);
253
- }
254
- }
255
- return Promise.reject('pointForCoordinate not supported on this platform');
256
- }
257
- /**
258
- * Convert a user-space point to a map coordinate
259
- *
260
- * @param point Point
261
- * @param [point.x] X
262
- * @param [point.x] Y
263
- *
264
- * @return Promise Promise with the coordinate ({ latitude: Number, longitude: Number })
265
- */
266
- coordinateForPoint(point) {
267
- if (react_native_1.Platform.OS === 'android') {
268
- return react_native_1.NativeModules.AirMapModule.coordinateForPoint(this._getHandle(), point);
269
- }
270
- else if (react_native_1.Platform.OS === 'ios') {
271
- if (this.fabricMap.current) {
272
- return this.fabricMap.current.getCoordinateForPoint(point);
273
- }
274
- }
275
- return Promise.reject('coordinateForPoint not supported on this platform');
276
- }
277
- /**
278
- * Get markers' centers and frames in user-space coordinates
279
- *
280
- * @param onlyVisible boolean true to include only visible markers, false to include all
281
- *
282
- * @return Promise Promise with { <identifier>: { point: Point, frame: Frame } }
283
- */
284
- getMarkersFrames(onlyVisible = false) {
285
- if (react_native_1.Platform.OS === 'ios') {
286
- if (this.fabricMap.current) {
287
- // @ts-ignore
288
- return this.fabricMap.current.getMarkersFrames(onlyVisible);
289
- }
290
- }
291
- return Promise.reject('getMarkersFrames not supported on this platform');
292
- }
293
- /**
294
- * Get bounding box from region
295
- *
296
- * @param region Region
297
- *
298
- * @return Object Object bounding box ({ northEast: <LatLng>, southWest: <LatLng> })
299
- */
300
- boundingBoxForRegion(region) {
301
- return {
302
- northEast: {
303
- latitude: region.latitude + region.latitudeDelta / 2,
304
- longitude: region.longitude + region.longitudeDelta / 2,
305
- },
306
- southWest: {
307
- latitude: region.latitude - region.latitudeDelta / 2,
308
- longitude: region.longitude - region.longitudeDelta / 2,
309
- },
310
- };
311
- }
312
- _getHandle() {
313
- return (0, react_native_1.findNodeHandle)(this.map.current);
314
- }
315
- handleMapPress = (event) => {
316
- if (this.props.onPress) {
317
- this.props.onPress(event);
318
- }
319
- };
320
- handleMarkerPress = (event) => {
321
- if (this.props.onMarkerPress) {
322
- this.props.onMarkerPress(event);
323
- }
324
- };
325
- handleMarkerSelect = (event) => {
326
- if (this.props.onMarkerSelect) {
327
- this.props.onMarkerSelect(event);
328
- }
329
- };
330
- handleMarkerDeselect = (event) => {
331
- if (this.props.onMarkerDeselect) {
332
- this.props.onMarkerDeselect(event);
333
- }
334
- };
335
- handleRegionChange = (event) => {
336
- const isGesture = event.nativeEvent.isGesture;
337
- const details = { isGesture };
338
- if (event.nativeEvent.continuous) {
339
- if (this.props.onRegionChange) {
340
- this.props.onRegionChange(event.nativeEvent.region, details);
341
- }
342
- }
343
- else if (this.props.onRegionChangeComplete) {
344
- this.props.onRegionChangeComplete(event.nativeEvent.region, details);
345
- }
346
- };
347
- render() {
348
- if (react_native_1.Platform.OS === 'ios') {
349
- // Define props specifically for MapFabricNativeProps
350
- /* eslint-disable @typescript-eslint/no-unused-vars */
351
- const { onCalloutPress, onIndoorBuildingFocused, onKmlReady, onLongPress, onMarkerDeselect, onMarkerPress, onMarkerSelect, onRegionChangeStart, onRegionChange, onRegionChangeComplete, onPress, minZoomLevel, maxZoomLevel, region, provider, children, ...restProps } = this.props;
352
- /* eslint-enable @typescript-eslint/no-unused-vars */
353
- const userInterfaceStyle = this.props.userInterfaceStyle || 'system';
354
- const props = {
355
- onMapReady: this._onMapReady,
356
- liteMode: this.props.liteMode,
357
- googleMapId: this.props.googleMapId,
358
- googleRenderer: this.props.googleRenderer,
359
- onPress: this.handleMapPress,
360
- onMarkerPress: this.handleMarkerPress,
361
- onMarkerSelect: this.handleMarkerSelect,
362
- onMarkerDeselect: this.handleMarkerDeselect,
363
- userInterfaceStyle: userInterfaceStyle,
364
- minZoom: minZoomLevel,
365
- maxZoom: maxZoomLevel,
366
- onRegionChange: this.handleRegionChange,
367
- ...restProps,
368
- };
369
- if (this.props.region) {
370
- props.region = {
371
- latitude: this.props.region.latitude,
372
- longitude: this.props.region.longitude,
373
- latitudeDelta: this.props.region.latitudeDelta,
374
- longitudeDelta: this.props.region.longitudeDelta,
375
- };
376
- }
377
- if (!this.state.isReady) {
378
- props.style = this.props.style;
379
- props.initialCamera = this.props.initialCamera;
380
- props.onLayout = this.props.onLayout;
381
- }
382
- const childrenNodes = this.state.isReady ? children : null;
383
- if (provider === 'google') {
384
- return (<decorateMapComponent_1.ProviderContext.Provider value={this.props.provider}>
385
- <FabricGoogleMap {...props} ref={this.fabricMap}>
386
- {childrenNodes}
387
- </FabricGoogleMap>
388
- </decorateMapComponent_1.ProviderContext.Provider>);
389
- }
390
- else {
391
- return (<decorateMapComponent_1.ProviderContext.Provider value={this.props.provider}>
392
- <FabricMap {...props} ref={this.fabricMap}>
393
- {childrenNodes}
394
- </FabricMap>
395
- </decorateMapComponent_1.ProviderContext.Provider>);
396
- }
397
- }
398
- else {
399
- const AIRMap = getNativeMapComponent(this.props.provider);
400
- // Define props specifically for NativeProps
401
- const props = {
402
- region: null,
403
- initialRegion: null,
404
- onChange: this._onChange,
405
- onMapReady: this._onMapReady,
406
- liteMode: this.props.liteMode,
407
- googleMapId: this.props.googleMapId,
408
- googleRenderer: this.props.googleRenderer,
409
- ref: this.map,
410
- customMapStyleString: this.props.customMapStyle
411
- ? JSON.stringify(this.props.customMapStyle)
412
- : undefined,
413
- ...this.props,
414
- };
415
- if (this.state.isReady) {
416
- if (props.onPanDrag) {
417
- props.handlePanDrag = !!props.onPanDrag;
418
- }
419
- }
420
- else {
421
- props.style = this.props.style;
422
- props.initialCamera = this.props.initialCamera;
423
- props.onLayout = this.props.onLayout;
424
- }
425
- // Render AIRMap with NativeProps
426
- return (<decorateMapComponent_1.ProviderContext.Provider value={this.props.provider}>
427
- <AIRMap {...props}/>
428
- </decorateMapComponent_1.ProviderContext.Provider>);
429
- }
430
- }
431
- }
432
- const airMaps = {
433
- default: (0, react_native_1.requireNativeComponent)('AIRMap'),
434
- google: () => null,
435
- };
436
- if (react_native_1.Platform.OS === 'android') {
437
- airMaps.google = airMaps.default;
438
- }
439
- else {
440
- airMaps.google = decorateMapComponent_1.googleMapIsInstalled
441
- ? (0, react_native_1.requireNativeComponent)('AIRGoogleMap')
442
- : (0, decorateMapComponent_1.createNotSupportedComponent)('react-native-maps: AirGoogleMaps dir must be added to your xCode project to support GoogleMaps on iOS.');
443
- }
444
- const getNativeMapComponent = (provider) => airMaps[provider || 'default'];
445
- exports.AnimatedMapView = react_native_1.Animated.createAnimatedComponent(MapView);
446
- MapView.Animated = exports.AnimatedMapView;
447
- exports.default = MapView;
@@ -1,161 +0,0 @@
1
- import { ClickEvent, LatLng, Point, Region } from './sharedTypes';
2
- import { NativeSyntheticEvent } from 'react-native';
3
- export type Camera = {
4
- /**
5
- * Apple Maps
6
- */
7
- altitude?: number;
8
- center: LatLng;
9
- heading: number;
10
- pitch: number;
11
- /**
12
- * Google Maps
13
- */
14
- zoom?: number;
15
- };
16
- export type MapStyleElement = {
17
- featureType?: string;
18
- elementType?: string;
19
- stylers: object[];
20
- };
21
- export type EdgePadding = {
22
- top: number;
23
- right: number;
24
- bottom: number;
25
- left: number;
26
- };
27
- export type MapType = 'hybrid' | 'mutedStandard' | 'none' | 'satellite' | 'standard' | 'terrain' | 'satelliteFlyover' | 'hybridFlyover';
28
- export type MapTypes = {
29
- STANDARD: 'standard';
30
- SATELLITE: 'satellite';
31
- HYBRID: 'hybrid';
32
- TERRAIN: 'terrain';
33
- NONE: 'none';
34
- MUTEDSTANDARD: 'mutedStandard';
35
- SATELLITE_FLYOVER: 'satelliteFlyover';
36
- HYBRID_FLYOVER: 'hybridFlyover';
37
- };
38
- export type IndoorLevel = {
39
- index: number;
40
- name: string;
41
- shortName: string;
42
- };
43
- export type ActiveIndoorLevel = {
44
- activeLevelIndex: number;
45
- name: string;
46
- shortName: string;
47
- };
48
- export type IndoorLevelActivatedEvent = NativeSyntheticEvent<{
49
- IndoorLevel: ActiveIndoorLevel;
50
- }>;
51
- export type IndoorBuilding = {
52
- underground: boolean;
53
- activeLevelIndex: number;
54
- levels: IndoorLevel[];
55
- };
56
- export type IndoorBuildingEvent = NativeSyntheticEvent<{
57
- IndoorBuilding: IndoorBuilding;
58
- }>;
59
- export type KmlMarker = {
60
- id: string;
61
- title: string;
62
- description: string;
63
- coordinate: LatLng;
64
- position: Point;
65
- };
66
- export type KmlMapEvent = NativeSyntheticEvent<{
67
- markers: KmlMarker[];
68
- }>;
69
- export type LongPressEvent = ClickEvent<{
70
- /**
71
- * @platform Android
72
- */
73
- action?: 'long-press';
74
- }>;
75
- export type PanDragEvent = ClickEvent;
76
- export type PoiClickEvent = NativeSyntheticEvent<{
77
- placeId: string;
78
- name: string;
79
- coordinate: LatLng;
80
- /**
81
- * @platform Android
82
- */
83
- position?: Point;
84
- }>;
85
- export type MapPressEvent = ClickEvent<{
86
- /**
87
- * @platform Android
88
- */
89
- action?: 'press' | 'marker-press';
90
- }>;
91
- export type Details = {
92
- isGesture?: boolean;
93
- };
94
- export type UserLocationChangeEvent = NativeSyntheticEvent<{
95
- coordinate?: LatLng & {
96
- altitude: number;
97
- timestamp: number;
98
- accuracy: number;
99
- speed: number;
100
- heading: number;
101
- /**
102
- * @platform iOS
103
- */
104
- altitudeAccuracy?: number;
105
- /**
106
- * @platform Android
107
- */
108
- isFromMockProvider?: boolean;
109
- };
110
- /**
111
- * @platform iOS
112
- */
113
- error?: {
114
- message: string;
115
- };
116
- }>;
117
- export type ChangeEvent = NativeSyntheticEvent<{
118
- continuous: boolean;
119
- region: Region;
120
- isGesture?: boolean;
121
- }>;
122
- export type FitToOptions = {
123
- edgePadding?: EdgePadding;
124
- animated?: boolean;
125
- };
126
- export type BoundingBox = {
127
- northEast: LatLng;
128
- southWest: LatLng;
129
- };
130
- export type SnapshotOptions = {
131
- /** optional, when omitted the view-width is used */
132
- width?: number;
133
- /** optional, when omitted the view-height is used */
134
- height?: number;
135
- /** __iOS only__, optional region to render */
136
- region?: Region;
137
- /** image formats, defaults to 'png' */
138
- format?: 'png' | 'jpg';
139
- /** image quality: 0..1 (only relevant for jpg, default: 1) */
140
- quality?: number;
141
- /** result types, defaults to 'file' */
142
- result?: 'file' | 'base64';
143
- };
144
- export type Address = {
145
- administrativeArea: string;
146
- country: string;
147
- countryCode: string;
148
- locality: string;
149
- name: string;
150
- postalCode: string;
151
- subAdministrativeArea: string;
152
- subLocality: string;
153
- thoroughfare: string;
154
- subThoroughfare?: string;
155
- };
156
- export type CameraZoomRange = {
157
- minCenterCoordinateDistance?: number;
158
- maxCenterCoordinateDistance?: number;
159
- animated?: boolean;
160
- };
161
- export type NativeCommandName = 'animateCamera' | 'animateToRegion' | 'coordinateForPoint' | 'fitToCoordinates' | 'fitToElements' | 'fitToSuppliedMarkers' | 'getAddressFromCoordinates' | 'getCamera' | 'getMapBoundaries' | 'getMarkersFrames' | 'pointForCoordinate' | 'setCamera' | 'setIndoorActiveLevelIndex' | 'setMapBoundaries' | 'takeSnapshot';
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1 +0,0 @@
1
- export { default } from 'react-native-web/dist/modules/UnimplementedView';
@@ -1,9 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = void 0;
7
- //@ts-ignore
8
- var UnimplementedView_1 = require("react-native-web/dist/modules/UnimplementedView");
9
- Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(UnimplementedView_1).default; } });
@@ -1,18 +0,0 @@
1
- /// <reference types="react" />
2
- import type { HostComponent } from 'react-native';
3
- import { NativeProps } from './MapView';
4
- import { Camera, EdgePadding } from './MapView.types';
5
- import { LatLng, Region } from './sharedTypes';
6
- export type MapViewNativeComponentType = HostComponent<NativeProps>;
7
- interface NativeCommands {
8
- animateToRegion: (viewRef: NonNullable<React.RefObject<MapViewNativeComponentType>['current']>, region: Region, duration: number) => void;
9
- setCamera: (viewRef: NonNullable<React.RefObject<MapViewNativeComponentType>['current']>, camera: Partial<Camera>) => void;
10
- animateCamera: (viewRef: NonNullable<React.RefObject<MapViewNativeComponentType>['current']>, camera: Partial<Camera>, duration: number) => void;
11
- fitToElements: (viewRef: NonNullable<React.RefObject<MapViewNativeComponentType>['current']>, edgePadding: EdgePadding, animated: boolean) => void;
12
- fitToSuppliedMarkers: (viewRef: NonNullable<React.RefObject<MapViewNativeComponentType>['current']>, markers: string[], edgePadding: EdgePadding, animated: boolean) => void;
13
- fitToCoordinates: (viewRef: NonNullable<React.RefObject<MapViewNativeComponentType>['current']>, coordinates: LatLng[], edgePadding: EdgePadding, animated: boolean) => void;
14
- setMapBoundaries: (viewRef: NonNullable<React.RefObject<MapViewNativeComponentType>['current']>, northEast: LatLng, southWest: LatLng) => void;
15
- setIndoorActiveLevelIndex: (viewRef: NonNullable<React.RefObject<MapViewNativeComponentType>['current']>, activeLevelIndex: number) => void;
16
- }
17
- export declare const Commands: NativeCommands;
18
- export {};
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Commands = void 0;
7
- const codegenNativeCommands_1 = __importDefault(require("react-native/Libraries/Utilities/codegenNativeCommands"));
8
- exports.Commands = (0, codegenNativeCommands_1.default)({
9
- supportedCommands: [
10
- 'animateToRegion',
11
- 'setCamera',
12
- 'animateCamera',
13
- 'fitToElements',
14
- 'fitToSuppliedMarkers',
15
- 'fitToCoordinates',
16
- 'setMapBoundaries',
17
- 'setIndoorActiveLevelIndex',
18
- ],
19
- });