react-native-map4d-map-dtqg 0.1.3 → 0.1.4

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 (199) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +133 -133
  3. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  4. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  5. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  6. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  7. package/android/.gradle/8.9/gc.properties +0 -0
  8. package/android/.gradle/9.2.0/checksums/checksums.lock +0 -0
  9. package/android/.gradle/9.2.0/fileChanges/last-build.bin +0 -0
  10. package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
  11. package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
  12. package/android/.gradle/9.2.0/gc.properties +0 -0
  13. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  14. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  15. package/android/.gradle/vcs-1/gc.properties +0 -0
  16. package/android/build.gradle +60 -60
  17. package/android/src/main/AndroidManifest.xml +4 -4
  18. package/android/src/main/java/com/reactnativemap4dmap/ImageUtils.java +87 -87
  19. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapModule.java +298 -298
  20. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapPackage.java +35 -35
  21. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapViewManager.java +31 -31
  22. package/android/src/main/java/com/reactnativemap4dmap/RMFBuilding.java +167 -167
  23. package/android/src/main/java/com/reactnativemap4dmap/RMFBuildingManager.java +121 -121
  24. package/android/src/main/java/com/reactnativemap4dmap/RMFCircle.java +105 -105
  25. package/android/src/main/java/com/reactnativemap4dmap/RMFCircleManager.java +121 -121
  26. package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRenderer.java +502 -502
  27. package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRendererManager.java +143 -143
  28. package/android/src/main/java/com/reactnativemap4dmap/RMFFeature.java +17 -17
  29. package/android/src/main/java/com/reactnativemap4dmap/RMFMapView.java +1172 -1172
  30. package/android/src/main/java/com/reactnativemap4dmap/RMFMapViewManager.java +231 -231
  31. package/android/src/main/java/com/reactnativemap4dmap/RMFMarker.java +412 -412
  32. package/android/src/main/java/com/reactnativemap4dmap/RMFMarkerManager.java +211 -211
  33. package/android/src/main/java/com/reactnativemap4dmap/RMFPOI.java +222 -222
  34. package/android/src/main/java/com/reactnativemap4dmap/RMFPOIManager.java +119 -119
  35. package/android/src/main/java/com/reactnativemap4dmap/RMFPolygon.java +172 -172
  36. package/android/src/main/java/com/reactnativemap4dmap/RMFPolygonManager.java +147 -147
  37. package/android/src/main/java/com/reactnativemap4dmap/RMFPolyline.java +146 -146
  38. package/android/src/main/java/com/reactnativemap4dmap/RMFPolylineManager.java +137 -137
  39. package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlay.java +95 -95
  40. package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlayManager.java +64 -64
  41. package/android/src/main/java/com/reactnativemap4dmap/SizeReportingShadowNode.java +31 -31
  42. package/android/src/main/java/com/reactnativemap4dmap/ViewAttacherGroup.java +31 -31
  43. package/android/src/main/java/com/reactnativemap4dmap/ViewChangesTracker.java +70 -70
  44. package/android/src/main/java/vn/map4d/map/annotations/RMFBitmapDescriptor.java +9 -9
  45. package/ios/Map4dMap.h +7 -7
  46. package/ios/Map4dMap.m +14 -14
  47. package/ios/Map4dMapViewManager.m +34 -34
  48. package/ios/RCTConvert+Map4dMap.h +33 -33
  49. package/ios/RCTConvert+Map4dMap.m +112 -112
  50. package/ios/RMFCircle.h +37 -37
  51. package/ios/RMFCircle.m +100 -100
  52. package/ios/RMFCircleManager.h +18 -18
  53. package/ios/RMFCircleManager.m +155 -155
  54. package/ios/RMFCircleMap4d.h +23 -23
  55. package/ios/RMFCircleMap4d.m +13 -13
  56. package/ios/RMFCoordinate.h +22 -22
  57. package/ios/RMFCoordinate.m +13 -13
  58. package/ios/RMFDirectionsMarkerOptions.h +24 -24
  59. package/ios/RMFDirectionsMarkerOptions.m +23 -23
  60. package/ios/RMFDirectionsRenderer.h +47 -47
  61. package/ios/RMFDirectionsRenderer.m +182 -182
  62. package/ios/RMFDirectionsRendererManager.h +17 -17
  63. package/ios/RMFDirectionsRendererManager.m +84 -84
  64. package/ios/RMFDirectionsRendererMap4d.h +21 -21
  65. package/ios/RMFDirectionsRendererMap4d.m +12 -12
  66. package/ios/RMFDummyView.h +6 -6
  67. package/ios/RMFDummyView.m +12 -12
  68. package/ios/RMFEventResponse.h +39 -39
  69. package/ios/RMFEventResponse.m +98 -98
  70. package/ios/RMFIcon.h +24 -24
  71. package/ios/RMFIcon.m +35 -35
  72. package/ios/RMFMapView.h +84 -84
  73. package/ios/RMFMapView.m +376 -376
  74. package/ios/RMFMapViewManager.h +17 -17
  75. package/ios/RMFMapViewManager.m +509 -509
  76. package/ios/RMFMarker.h +57 -57
  77. package/ios/RMFMarker.m +267 -267
  78. package/ios/RMFMarkerManager.h +17 -17
  79. package/ios/RMFMarkerManager.m +156 -156
  80. package/ios/RMFMarkerMap4d.h +19 -19
  81. package/ios/RMFMarkerMap4d.m +13 -13
  82. package/ios/RMFPOI.h +38 -38
  83. package/ios/RMFPOI.m +123 -123
  84. package/ios/RMFPOIManager.h +18 -18
  85. package/ios/RMFPOIManager.m +168 -168
  86. package/ios/RMFPOIMap4d.h +22 -22
  87. package/ios/RMFPOIMap4d.m +12 -12
  88. package/ios/RMFPolygon.h +41 -41
  89. package/ios/RMFPolygon.m +106 -106
  90. package/ios/RMFPolygonManager.h +18 -18
  91. package/ios/RMFPolygonManager.m +141 -141
  92. package/ios/RMFPolygonMap4d.h +23 -23
  93. package/ios/RMFPolygonMap4d.m +15 -15
  94. package/ios/RMFPolyline.h +38 -38
  95. package/ios/RMFPolyline.m +101 -101
  96. package/ios/RMFPolylineManager.h +18 -18
  97. package/ios/RMFPolylineManager.m +139 -139
  98. package/ios/RMFPolylineMap4d.h +22 -22
  99. package/ios/RMFPolylineMap4d.m +15 -15
  100. package/ios/building/RMFBuilding.h +41 -41
  101. package/ios/building/RMFBuilding.m +104 -104
  102. package/ios/building/RMFBuildingManager.h +19 -19
  103. package/ios/building/RMFBuildingManager.m +133 -133
  104. package/ios/building/RMFBuildingMap4d.h +23 -23
  105. package/ios/building/RMFBuildingMap4d.m +15 -15
  106. package/ios/overlays/RMFTileOverlay.h +36 -36
  107. package/ios/overlays/RMFTileOverlay.m +64 -64
  108. package/ios/overlays/RMFTileOverlayManager.h +17 -17
  109. package/ios/overlays/RMFTileOverlayManager.m +27 -27
  110. package/lib/commonjs/components/MFBanDoSo.js.map +1 -1
  111. package/lib/commonjs/components/MFBuilding.js +50 -32
  112. package/lib/commonjs/components/MFBuilding.js.map +1 -1
  113. package/lib/commonjs/components/MFCircle.js +44 -26
  114. package/lib/commonjs/components/MFCircle.js.map +1 -1
  115. package/lib/commonjs/components/MFDirectionsRenderer.js +56 -38
  116. package/lib/commonjs/components/MFDirectionsRenderer.js.map +1 -1
  117. package/lib/commonjs/components/MFMapView.js +91 -74
  118. package/lib/commonjs/components/MFMapView.js.map +1 -1
  119. package/lib/commonjs/components/MFMarker.js +59 -41
  120. package/lib/commonjs/components/MFMarker.js.map +1 -1
  121. package/lib/commonjs/components/MFPOI.js +44 -26
  122. package/lib/commonjs/components/MFPOI.js.map +1 -1
  123. package/lib/commonjs/components/MFPolygon.js +46 -28
  124. package/lib/commonjs/components/MFPolygon.js.map +1 -1
  125. package/lib/commonjs/components/MFPolyline.js +42 -24
  126. package/lib/commonjs/components/MFPolyline.js.map +1 -1
  127. package/lib/commonjs/components/MFTileOverlay.js +9 -9
  128. package/lib/commonjs/components/MFTileOverlay.js.map +1 -1
  129. package/lib/commonjs/components/Map4dMapView.js.map +1 -1
  130. package/lib/commonjs/components/extends/AreaFocusManager.js +16 -16
  131. package/lib/commonjs/components/extends/AreaFocusManager.js.map +1 -1
  132. package/lib/commonjs/components/extends/AreaFocuser.js +2 -2
  133. package/lib/commonjs/components/extends/AreaFocuser.js.map +1 -1
  134. package/lib/commonjs/components/extends/BoundHelper.js.map +1 -1
  135. package/lib/commonjs/components/extends/area/AreaFocusAreas.js.map +1 -1
  136. package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js.map +1 -1
  137. package/lib/commonjs/components/extends/area/AreaFocusSession.js.map +1 -1
  138. package/lib/commonjs/components/extends/area/AreaFocusTypes.js +18 -18
  139. package/lib/commonjs/components/extends/area/AreaFocusTypes.js.map +1 -1
  140. package/lib/commonjs/components/internal/DefaultRoadmapStyle.js.map +1 -1
  141. package/lib/commonjs/components/internal/GeojsonStyleUtils.js.map +1 -1
  142. package/lib/commonjs/index.js.map +1 -1
  143. package/lib/module/components/MFBanDoSo.js.map +1 -1
  144. package/lib/module/components/MFBuilding.js +51 -33
  145. package/lib/module/components/MFBuilding.js.map +1 -1
  146. package/lib/module/components/MFCircle.js +45 -27
  147. package/lib/module/components/MFCircle.js.map +1 -1
  148. package/lib/module/components/MFDirectionsRenderer.js +57 -39
  149. package/lib/module/components/MFDirectionsRenderer.js.map +1 -1
  150. package/lib/module/components/MFMapView.js +92 -75
  151. package/lib/module/components/MFMapView.js.map +1 -1
  152. package/lib/module/components/MFMarker.js +60 -42
  153. package/lib/module/components/MFMarker.js.map +1 -1
  154. package/lib/module/components/MFPOI.js +45 -27
  155. package/lib/module/components/MFPOI.js.map +1 -1
  156. package/lib/module/components/MFPolygon.js +47 -29
  157. package/lib/module/components/MFPolygon.js.map +1 -1
  158. package/lib/module/components/MFPolyline.js +43 -25
  159. package/lib/module/components/MFPolyline.js.map +1 -1
  160. package/lib/module/components/MFTileOverlay.js +9 -9
  161. package/lib/module/components/MFTileOverlay.js.map +1 -1
  162. package/lib/module/components/Map4dMapView.js.map +1 -1
  163. package/lib/module/components/extends/AreaFocusManager.js +16 -16
  164. package/lib/module/components/extends/AreaFocusManager.js.map +1 -1
  165. package/lib/module/components/extends/AreaFocuser.js +2 -2
  166. package/lib/module/components/extends/AreaFocuser.js.map +1 -1
  167. package/lib/module/components/extends/BoundHelper.js.map +1 -1
  168. package/lib/module/components/extends/area/AreaFocusAreas.js.map +1 -1
  169. package/lib/module/components/extends/area/AreaFocusGeometryUtils.js.map +1 -1
  170. package/lib/module/components/extends/area/AreaFocusSession.js.map +1 -1
  171. package/lib/module/components/extends/area/AreaFocusTypes.js +18 -18
  172. package/lib/module/components/extends/area/AreaFocusTypes.js.map +1 -1
  173. package/lib/module/components/internal/DefaultRoadmapStyle.js.map +1 -1
  174. package/lib/module/components/internal/GeojsonStyleUtils.js.map +1 -1
  175. package/lib/module/index.js.map +1 -1
  176. package/lib/typescript/components/Map4dMapView.d.ts +7 -7
  177. package/package.json +152 -152
  178. package/react-native-map4d-map.podspec +20 -20
  179. package/src/components/MFBanDoSo.js +124 -124
  180. package/src/components/MFBuilding.js +200 -187
  181. package/src/components/MFCircle.js +186 -173
  182. package/src/components/MFDirectionsRenderer.js +250 -237
  183. package/src/components/MFMapView.js +480 -464
  184. package/src/components/MFMarker.js +259 -246
  185. package/src/components/MFPOI.js +197 -184
  186. package/src/components/MFPolygon.js +199 -186
  187. package/src/components/MFPolyline.js +185 -172
  188. package/src/components/MFTileOverlay.js +45 -45
  189. package/src/components/Map4dMapView.tsx +26 -26
  190. package/src/components/extends/AreaFocusManager.js +196 -196
  191. package/src/components/extends/AreaFocuser.js +61 -61
  192. package/src/components/extends/BoundHelper.js +31 -31
  193. package/src/components/extends/area/AreaFocusAreas.js +164 -164
  194. package/src/components/extends/area/AreaFocusGeometryUtils.js +164 -164
  195. package/src/components/extends/area/AreaFocusSession.js +100 -100
  196. package/src/components/extends/area/AreaFocusTypes.js +36 -36
  197. package/src/components/internal/DefaultRoadmapStyle.js +3365 -3365
  198. package/src/components/internal/GeojsonStyleUtils.js +143 -143
  199. package/src/index.js +25 -25
@@ -3,62 +3,62 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
3
3
  import PropTypes from 'prop-types';
4
4
  import React from 'react';
5
5
  import { ViewPropTypes } from 'deprecated-react-native-prop-types';
6
- import { requireNativeComponent, StyleSheet, Platform, Image, NativeModules, findNodeHandle } from 'react-native'; // if ViewPropTypes is not defined fall back to View.propType (to support RN < 0.44)
6
+ import { requireNativeComponent, StyleSheet, Platform, Image, UIManager, NativeModules, findNodeHandle } from 'react-native'; // if ViewPropTypes is not defined fall back to View.propType (to support RN < 0.44)
7
7
 
8
8
  const viewPropTypes = ViewPropTypes || View.propTypes;
9
9
  const propTypes = { ...viewPropTypes,
10
10
 
11
- /**
12
- * The coordinate for the marker.
11
+ /**
12
+ * The coordinate for the marker.
13
13
  */
14
14
  coordinate: PropTypes.shape({
15
15
  latitude: PropTypes.number.isRequired,
16
16
  longitude: PropTypes.number.isRequired
17
17
  }).isRequired,
18
18
 
19
- /**
20
- * Default value is `false`
19
+ /**
20
+ * Default value is `false`
21
21
  */
22
22
  draggable: PropTypes.bool,
23
23
 
24
- /**
25
- * Sets the ground anchor point for the marker.
24
+ /**
25
+ * Sets the ground anchor point for the marker.
26
26
  */
27
27
  anchor: PropTypes.shape({
28
28
  x: PropTypes.number.isRequired,
29
29
  y: PropTypes.number.isRequired
30
30
  }),
31
31
 
32
- /**
33
- *
32
+ /**
33
+ *
34
34
  */
35
35
  elevation: PropTypes.number,
36
36
 
37
- /**
38
- *
37
+ /**
38
+ *
39
39
  */
40
40
  rotation: PropTypes.number,
41
41
 
42
- /**
43
- * Sets the infor window anchor point for the marker.
42
+ /**
43
+ * Sets the infor window anchor point for the marker.
44
44
  */
45
45
  infoWindowAnchor: PropTypes.shape({
46
46
  x: PropTypes.number.isRequired,
47
47
  y: PropTypes.number.isRequired
48
48
  }),
49
49
 
50
- /**
51
- * The title of the marker.
50
+ /**
51
+ * The title of the marker.
52
52
  */
53
53
  title: PropTypes.string,
54
54
 
55
- /**
56
- * The snippet of the marker.
55
+ /**
56
+ * The snippet of the marker.
57
57
  */
58
58
  snippet: PropTypes.string,
59
59
 
60
- /**
61
- * Marker icon to render.
60
+ /**
61
+ * Marker icon to render.
62
62
  */
63
63
  icon: PropTypes.shape({
64
64
  uri: PropTypes.any.isRequired,
@@ -66,44 +66,44 @@ const propTypes = { ...viewPropTypes,
66
66
  height: PropTypes.number.isRequired
67
67
  }),
68
68
 
69
- /**
70
- * zIndex
69
+ /**
70
+ * zIndex
71
71
  */
72
72
  zIndex: PropTypes.number,
73
73
 
74
- /**
75
- * visible
74
+ /**
75
+ * visible
76
76
  */
77
77
  visible: PropTypes.bool,
78
78
 
79
- /**
80
- * userData
79
+ /**
80
+ * userData
81
81
  */
82
82
  userData: PropTypes.object,
83
83
 
84
- /**
85
- * Callback that is called when the user presses on the marker
84
+ /**
85
+ * Callback that is called when the user presses on the marker
86
86
  */
87
87
  onPress: PropTypes.func,
88
88
 
89
- /**
90
- * Callback that is called when the user presses on the info window
89
+ /**
90
+ * Callback that is called when the user presses on the info window
91
91
  */
92
92
  onPressInfoWindow: PropTypes.func,
93
93
 
94
- /**
95
- * Callback that is called when the user initiates a drag on this marker (if it is draggable)
94
+ /**
95
+ * Callback that is called when the user initiates a drag on this marker (if it is draggable)
96
96
  */
97
97
  onDragStart: PropTypes.func,
98
98
 
99
- /**
100
- * Callback called continuously as the marker is dragged
99
+ /**
100
+ * Callback called continuously as the marker is dragged
101
101
  */
102
102
  onDrag: PropTypes.func,
103
103
 
104
- /**
105
- * Callback that is called when a drag on this marker finishes. This is usually the point you
106
- * will want to setState on the marker's coordinate again
104
+ /**
105
+ * Callback that is called when a drag on this marker finishes. This is usually the point you
106
+ * will want to setState on the marker's coordinate again
107
107
  */
108
108
  onDragEnd: PropTypes.func
109
109
  };
@@ -162,8 +162,20 @@ class MFMarker extends React.Component {
162
162
  _runCommand(name, args) {
163
163
  switch (Platform.OS) {
164
164
  case 'android':
165
- NativeModules.UIManager.dispatchViewManagerCommand(this._getHandle(), this._uiManagerCommand(name), args);
166
- break;
165
+ {
166
+ if (!UIManager || typeof UIManager.dispatchViewManagerCommand !== 'function') {
167
+ return;
168
+ }
169
+
170
+ const commandId = this._uiManagerCommand(name);
171
+
172
+ if (commandId == null) {
173
+ return;
174
+ }
175
+
176
+ UIManager.dispatchViewManagerCommand(this._getHandle(), commandId, args);
177
+ break;
178
+ }
167
179
 
168
180
  case 'ios':
169
181
  //this.getMapManagerCommand(name)(this._getHandle(), ...args);
@@ -177,16 +189,22 @@ class MFMarker extends React.Component {
177
189
  }
178
190
 
179
191
  _uiManagerCommand(name) {
180
- const UIManager = NativeModules.UIManager;
192
+ const uiManager = UIManager || NativeModules.UIManager;
181
193
  const componentName = "RMFMarker";
182
194
 
183
- if (!UIManager.getViewManagerConfig) {
195
+ if (!uiManager) {
196
+ return null;
197
+ }
198
+
199
+ if (!uiManager.getViewManagerConfig) {
184
200
  // RN < 0.58
185
- return UIManager[componentName].Commands[name];
201
+ const legacyConfig = uiManager[componentName];
202
+ return legacyConfig && legacyConfig.Commands ? legacyConfig.Commands[name] : null;
186
203
  } // RN >= 0.58
187
204
 
188
205
 
189
- return UIManager.getViewManagerConfig(componentName).Commands[name];
206
+ const config = uiManager.getViewManagerConfig(componentName);
207
+ return config && config.Commands ? config.Commands[name] : null;
190
208
  }
191
209
 
192
210
  _mapManagerCommand(name) {
@@ -1 +1 @@
1
- {"version":3,"names":["PropTypes","React","ViewPropTypes","requireNativeComponent","StyleSheet","Platform","Image","NativeModules","findNodeHandle","viewPropTypes","View","propTypes","coordinate","shape","latitude","number","isRequired","longitude","draggable","bool","anchor","x","y","elevation","rotation","infoWindowAnchor","title","string","snippet","icon","uri","any","width","height","zIndex","visible","userData","object","onPress","func","onPressInfoWindow","onDragStart","onDrag","onDragEnd","MFMarker","Component","constructor","props","_onPress","bind","_ref","setCoordinate","location","_runCommand","setRotation","setTitle","setSnippet","setDraggable","setZIndex","setVisible","setInfoWindowAnchor","setElevation","setUserData","_getHandle","marker","name","args","OS","UIManager","dispatchViewManagerCommand","_uiManagerCommand","_mapManagerCommand","componentName","getViewManagerConfig","Commands","event","stopPropagation","ref","render","resolveAssetSource","styles","style","RMFMarker","create","position"],"sources":["MFMarker.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport {ViewPropTypes} from 'deprecated-react-native-prop-types';\nimport {\n requireNativeComponent,\n StyleSheet,\n Platform,\n Image,\n NativeModules,\n findNodeHandle\n} from 'react-native';\n\n// if ViewPropTypes is not defined fall back to View.propType (to support RN < 0.44)\nconst viewPropTypes = ViewPropTypes || View.propTypes;\n\nconst propTypes = {\n ...viewPropTypes,\n\n /**\n * The coordinate for the marker.\n */\n coordinate: PropTypes.shape({\n latitude: PropTypes.number.isRequired,\n longitude: PropTypes.number.isRequired,\n }).isRequired,\n\n /**\n * Default value is `false`\n */\n draggable: PropTypes.bool,\n\n /**\n * Sets the ground anchor point for the marker.\n */\n anchor: PropTypes.shape({\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n }),\n\n /**\n * \n */\n elevation: PropTypes.number,\n\n /**\n * \n */\n rotation: PropTypes.number,\n\n /**\n * Sets the infor window anchor point for the marker.\n */\n infoWindowAnchor: PropTypes.shape({\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n }),\n\n /**\n * The title of the marker.\n */\n title: PropTypes.string,\n\n /**\n * The snippet of the marker.\n */\n snippet: PropTypes.string,\n\n /**\n * Marker icon to render.\n */\n icon: PropTypes.shape({\n uri: PropTypes.any.isRequired,\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n }),\n\n\n /**\n * zIndex\n */\n zIndex: PropTypes.number,\n\n /**\n * visible\n */\n visible: PropTypes.bool,\n\n /**\n * userData\n */\n userData:PropTypes.object,\n\n /**\n * Callback that is called when the user presses on the marker\n */\n onPress: PropTypes.func,\n\n /**\n * Callback that is called when the user presses on the info window\n */\n onPressInfoWindow: PropTypes.func,\n\n /**\n * Callback that is called when the user initiates a drag on this marker (if it is draggable)\n */\n onDragStart: PropTypes.func,\n\n /**\n * Callback called continuously as the marker is dragged\n */\n onDrag: PropTypes.func,\n\n /**\n * Callback that is called when a drag on this marker finishes. This is usually the point you\n * will want to setState on the marker's coordinate again\n */\n onDragEnd: PropTypes.func,\n};\n\n\nclass MFMarker extends React.Component {\n constructor(props) {\n super(props); \n this._onPress = this._onPress.bind(this)\n this._ref = this._ref.bind(this)\n }\n\n setCoordinate(location) {\n this._runCommand(\"setCoordinate\", [location])\n }\n\n setRotation(rotation) {\n this._runCommand(\"setRotation\", [rotation])\n }\n\n setTitle(title) {\n this._runCommand(\"setTitle\", [title])\n }\n\n setSnippet(snippet) {\n this._runCommand(\"setSnippet\", [snippet])\n }\n\n setDraggable(draggable) {\n this._runCommand(\"setDraggable\", [draggable])\n }\n\n setZIndex(zIndex) {\n this._runCommand(\"setZIndex\", [zIndex])\n }\n\n setVisible(visible) {\n this._runCommand(\"setVisible\", [visible])\n }\n\n setInfoWindowAnchor(anchor) {\n this._runCommand(\"setInfoWindowAnchor\", [anchor])\n }\n\n setElevation(elevation) {\n this._runCommand(\"setElevation\", [elevation])\n }\n\n setUserData(userData) {\n this._runCommand(\"setUserData\", [userData])\n }\n\n _getHandle() {\n return findNodeHandle(this.marker);\n }\n\n\n _runCommand(name, args) {\n switch (Platform.OS) {\n case 'android':\n NativeModules.UIManager.dispatchViewManagerCommand(\n this._getHandle(),\n this._uiManagerCommand(name),\n args\n );\n break;\n \n case 'ios':\n //this.getMapManagerCommand(name)(this._getHandle(), ...args);\n this._mapManagerCommand(name)(this._getHandle(), ...args);\n break;\n \n default:\n break;\n }\n }\n\n _uiManagerCommand(name) {\n const UIManager = NativeModules.UIManager;\n const componentName = \"RMFMarker\";\n \n if (!UIManager.getViewManagerConfig) {\n // RN < 0.58\n return UIManager[componentName].Commands[name];\n }\n \n // RN >= 0.58 \n return UIManager.getViewManagerConfig(componentName).Commands[name];\n }\n \n _mapManagerCommand(name) {\n return NativeModules[`RMFMarker`][name];\n }\n\n _onPress(event) {\n event.stopPropagation();\n if (this.props.onPress) {\n this.props.onPress(event);\n }\n }\n\n _ref(ref) {\n this.marker = ref;\n }\n\n render() {\n let icon = {};\n if (this.props.icon) {\n let uri = Image.resolveAssetSource(this.props.icon.uri) || {uri: this.props.icon.uri};\n icon = {uri: uri.uri, width: this.props.icon.width, height: this.props.icon.height}\n }\n return <RMFMarker\n {...this.props}\n icon={icon}\n ref={this._ref}\n style={[styles.marker, this.props.style]}\n onPress={this._onPress}\n />;\n }\n}\n\nMFMarker.propTypes = propTypes;\nvar RMFMarker = requireNativeComponent(`RMFMarker`, MFMarker);\n\nconst styles = StyleSheet.create({\n marker: {\n position: 'absolute'\n },\n});\n\nexport {MFMarker}\n"],"mappings":"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"}
1
+ {"version":3,"names":["PropTypes","React","ViewPropTypes","requireNativeComponent","StyleSheet","Platform","Image","UIManager","NativeModules","findNodeHandle","viewPropTypes","View","propTypes","coordinate","shape","latitude","number","isRequired","longitude","draggable","bool","anchor","x","y","elevation","rotation","infoWindowAnchor","title","string","snippet","icon","uri","any","width","height","zIndex","visible","userData","object","onPress","func","onPressInfoWindow","onDragStart","onDrag","onDragEnd","MFMarker","Component","constructor","props","_onPress","bind","_ref","setCoordinate","location","_runCommand","setRotation","setTitle","setSnippet","setDraggable","setZIndex","setVisible","setInfoWindowAnchor","setElevation","setUserData","_getHandle","marker","name","args","OS","dispatchViewManagerCommand","commandId","_uiManagerCommand","_mapManagerCommand","uiManager","componentName","getViewManagerConfig","legacyConfig","Commands","config","event","stopPropagation","ref","render","resolveAssetSource","styles","style","RMFMarker","create","position"],"sources":["MFMarker.js"],"sourcesContent":["import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport {ViewPropTypes} from 'deprecated-react-native-prop-types';\r\nimport {\r\n requireNativeComponent,\r\n StyleSheet,\r\n Platform,\r\n Image,\r\n UIManager,\r\n NativeModules,\r\n findNodeHandle\r\n} from 'react-native';\r\n\r\n// if ViewPropTypes is not defined fall back to View.propType (to support RN < 0.44)\r\nconst viewPropTypes = ViewPropTypes || View.propTypes;\r\n\r\nconst propTypes = {\r\n ...viewPropTypes,\r\n\r\n /**\r\n * The coordinate for the marker.\r\n */\r\n coordinate: PropTypes.shape({\r\n latitude: PropTypes.number.isRequired,\r\n longitude: PropTypes.number.isRequired,\r\n }).isRequired,\r\n\r\n /**\r\n * Default value is `false`\r\n */\r\n draggable: PropTypes.bool,\r\n\r\n /**\r\n * Sets the ground anchor point for the marker.\r\n */\r\n anchor: PropTypes.shape({\r\n x: PropTypes.number.isRequired,\r\n y: PropTypes.number.isRequired,\r\n }),\r\n\r\n /**\r\n * \r\n */\r\n elevation: PropTypes.number,\r\n\r\n /**\r\n * \r\n */\r\n rotation: PropTypes.number,\r\n\r\n /**\r\n * Sets the infor window anchor point for the marker.\r\n */\r\n infoWindowAnchor: PropTypes.shape({\r\n x: PropTypes.number.isRequired,\r\n y: PropTypes.number.isRequired,\r\n }),\r\n\r\n /**\r\n * The title of the marker.\r\n */\r\n title: PropTypes.string,\r\n\r\n /**\r\n * The snippet of the marker.\r\n */\r\n snippet: PropTypes.string,\r\n\r\n /**\r\n * Marker icon to render.\r\n */\r\n icon: PropTypes.shape({\r\n uri: PropTypes.any.isRequired,\r\n width: PropTypes.number.isRequired,\r\n height: PropTypes.number.isRequired,\r\n }),\r\n\r\n\r\n /**\r\n * zIndex\r\n */\r\n zIndex: PropTypes.number,\r\n\r\n /**\r\n * visible\r\n */\r\n visible: PropTypes.bool,\r\n\r\n /**\r\n * userData\r\n */\r\n userData:PropTypes.object,\r\n\r\n /**\r\n * Callback that is called when the user presses on the marker\r\n */\r\n onPress: PropTypes.func,\r\n\r\n /**\r\n * Callback that is called when the user presses on the info window\r\n */\r\n onPressInfoWindow: PropTypes.func,\r\n\r\n /**\r\n * Callback that is called when the user initiates a drag on this marker (if it is draggable)\r\n */\r\n onDragStart: PropTypes.func,\r\n\r\n /**\r\n * Callback called continuously as the marker is dragged\r\n */\r\n onDrag: PropTypes.func,\r\n\r\n /**\r\n * Callback that is called when a drag on this marker finishes. This is usually the point you\r\n * will want to setState on the marker's coordinate again\r\n */\r\n onDragEnd: PropTypes.func,\r\n};\r\n\r\n\r\nclass MFMarker extends React.Component {\r\n constructor(props) {\r\n super(props); \r\n this._onPress = this._onPress.bind(this)\r\n this._ref = this._ref.bind(this)\r\n }\r\n\r\n setCoordinate(location) {\r\n this._runCommand(\"setCoordinate\", [location])\r\n }\r\n\r\n setRotation(rotation) {\r\n this._runCommand(\"setRotation\", [rotation])\r\n }\r\n\r\n setTitle(title) {\r\n this._runCommand(\"setTitle\", [title])\r\n }\r\n\r\n setSnippet(snippet) {\r\n this._runCommand(\"setSnippet\", [snippet])\r\n }\r\n\r\n setDraggable(draggable) {\r\n this._runCommand(\"setDraggable\", [draggable])\r\n }\r\n\r\n setZIndex(zIndex) {\r\n this._runCommand(\"setZIndex\", [zIndex])\r\n }\r\n\r\n setVisible(visible) {\r\n this._runCommand(\"setVisible\", [visible])\r\n }\r\n\r\n setInfoWindowAnchor(anchor) {\r\n this._runCommand(\"setInfoWindowAnchor\", [anchor])\r\n }\r\n\r\n setElevation(elevation) {\r\n this._runCommand(\"setElevation\", [elevation])\r\n }\r\n\r\n setUserData(userData) {\r\n this._runCommand(\"setUserData\", [userData])\r\n }\r\n\r\n _getHandle() {\r\n return findNodeHandle(this.marker);\r\n }\r\n\r\n\r\n _runCommand(name, args) {\r\n switch (Platform.OS) {\r\n case 'android': {\r\n if (!UIManager || typeof UIManager.dispatchViewManagerCommand !== 'function') {\r\n return;\r\n }\r\n\r\n const commandId = this._uiManagerCommand(name);\r\n if (commandId == null) {\r\n return;\r\n }\r\n\r\n UIManager.dispatchViewManagerCommand(this._getHandle(), commandId, args);\r\n break;\r\n }\r\n \r\n case 'ios':\r\n //this.getMapManagerCommand(name)(this._getHandle(), ...args);\r\n this._mapManagerCommand(name)(this._getHandle(), ...args);\r\n break;\r\n \r\n default:\r\n break;\r\n }\r\n }\r\n\r\n _uiManagerCommand(name) {\r\n const uiManager = UIManager || NativeModules.UIManager;\r\n const componentName = \"RMFMarker\";\r\n\r\n if (!uiManager) {\r\n return null;\r\n }\r\n \r\n if (!uiManager.getViewManagerConfig) {\r\n // RN < 0.58\r\n const legacyConfig = uiManager[componentName];\r\n return legacyConfig && legacyConfig.Commands ? legacyConfig.Commands[name] : null;\r\n }\r\n \r\n // RN >= 0.58 \r\n const config = uiManager.getViewManagerConfig(componentName);\r\n return config && config.Commands ? config.Commands[name] : null;\r\n }\r\n \r\n _mapManagerCommand(name) {\r\n return NativeModules[`RMFMarker`][name];\r\n }\r\n\r\n _onPress(event) {\r\n event.stopPropagation();\r\n if (this.props.onPress) {\r\n this.props.onPress(event);\r\n }\r\n }\r\n\r\n _ref(ref) {\r\n this.marker = ref;\r\n }\r\n\r\n render() {\r\n let icon = {};\r\n if (this.props.icon) {\r\n let uri = Image.resolveAssetSource(this.props.icon.uri) || {uri: this.props.icon.uri};\r\n icon = {uri: uri.uri, width: this.props.icon.width, height: this.props.icon.height}\r\n }\r\n return <RMFMarker\r\n {...this.props}\r\n icon={icon}\r\n ref={this._ref}\r\n style={[styles.marker, this.props.style]}\r\n onPress={this._onPress}\r\n />;\r\n }\r\n}\r\n\r\nMFMarker.propTypes = propTypes;\r\nvar RMFMarker = requireNativeComponent(`RMFMarker`, MFMarker);\r\n\r\nconst styles = StyleSheet.create({\r\n marker: {\r\n position: 'absolute'\r\n },\r\n});\r\n\r\nexport {MFMarker}\r\n"],"mappings":"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"}
@@ -3,65 +3,65 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
3
3
  import PropTypes from 'prop-types';
4
4
  import React from 'react';
5
5
  import { ViewPropTypes, ColorPropType } from 'deprecated-react-native-prop-types';
6
- import { requireNativeComponent, Platform, Image, NativeModules, findNodeHandle, processColor } from 'react-native'; // if ViewPropTypes is not defined fall back to View.propType (to support RN < 0.44)
6
+ import { requireNativeComponent, Platform, Image, UIManager, NativeModules, findNodeHandle, processColor } from 'react-native'; // if ViewPropTypes is not defined fall back to View.propType (to support RN < 0.44)
7
7
 
8
8
  const viewPropTypes = ViewPropTypes || View.propTypes;
9
9
  const propTypes = { ...viewPropTypes,
10
10
 
11
- /**
12
- * The coordinate for the POI.
11
+ /**
12
+ * The coordinate for the POI.
13
13
  */
14
14
  coordinate: PropTypes.shape({
15
15
  latitude: PropTypes.number.isRequired,
16
16
  longitude: PropTypes.number.isRequired
17
17
  }).isRequired,
18
18
 
19
- /**
20
- * The title of the POI.
19
+ /**
20
+ * The title of the POI.
21
21
  */
22
22
  title: PropTypes.string,
23
23
 
24
- /**
25
- * The color of the title.
24
+ /**
25
+ * The color of the title.
26
26
  */
27
27
  titleColor: ColorPropType,
28
28
 
29
- /**
30
- * The subtile of the POI.
29
+ /**
30
+ * The subtile of the POI.
31
31
  */
32
32
  subtitle: PropTypes.string,
33
33
 
34
- /**
35
- * The type of POI
34
+ /**
35
+ * The type of POI
36
36
  */
37
37
  //poiType: PropTypes.oneOf(['cafe', 'atm', 'bank']),
38
38
  poiType: PropTypes.string,
39
39
 
40
- /**
41
- * POI icon to render.
40
+ /**
41
+ * POI icon to render.
42
42
  */
43
43
  icon: PropTypes.shape({
44
44
  uri: PropTypes.any.isRequired
45
45
  }),
46
46
 
47
- /**
48
- * zIndex
47
+ /**
48
+ * zIndex
49
49
  */
50
50
  zIndex: PropTypes.number,
51
51
 
52
- /**
53
- * visible
52
+ /**
53
+ * visible
54
54
  */
55
55
  //TODO
56
56
  // visible: PropTypes.bool,
57
57
 
58
- /**
59
- * userData
58
+ /**
59
+ * userData
60
60
  */
61
61
  userData: PropTypes.object,
62
62
 
63
- /**
64
- * Callback that is called when the user presses on the POI
63
+ /**
64
+ * Callback that is called when the user presses on the POI
65
65
  */
66
66
  onPress: PropTypes.func
67
67
  };
@@ -133,8 +133,20 @@ class MFPOI extends React.Component {
133
133
  _runCommand(name, args) {
134
134
  switch (Platform.OS) {
135
135
  case 'android':
136
- NativeModules.UIManager.dispatchViewManagerCommand(this._getHandle(), this._uiManagerCommand(name), args);
137
- break;
136
+ {
137
+ if (!UIManager || typeof UIManager.dispatchViewManagerCommand !== 'function') {
138
+ return;
139
+ }
140
+
141
+ const commandId = this._uiManagerCommand(name);
142
+
143
+ if (commandId == null) {
144
+ return;
145
+ }
146
+
147
+ UIManager.dispatchViewManagerCommand(this._getHandle(), commandId, args);
148
+ break;
149
+ }
138
150
 
139
151
  case 'ios':
140
152
  this._mapManagerCommand(name)(this._getHandle(), ...args);
@@ -147,16 +159,22 @@ class MFPOI extends React.Component {
147
159
  }
148
160
 
149
161
  _uiManagerCommand(name) {
150
- const UIManager = NativeModules.UIManager;
162
+ const uiManager = UIManager || NativeModules.UIManager;
151
163
  const componentName = "RMFPOI";
152
164
 
153
- if (!UIManager.getViewManagerConfig) {
165
+ if (!uiManager) {
166
+ return null;
167
+ }
168
+
169
+ if (!uiManager.getViewManagerConfig) {
154
170
  // RN < 0.58
155
- return UIManager[componentName].Commands[name];
171
+ const legacyConfig = uiManager[componentName];
172
+ return legacyConfig && legacyConfig.Commands ? legacyConfig.Commands[name] : null;
156
173
  } // RN >= 0.58
157
174
 
158
175
 
159
- return UIManager.getViewManagerConfig(componentName).Commands[name];
176
+ const config = uiManager.getViewManagerConfig(componentName);
177
+ return config && config.Commands ? config.Commands[name] : null;
160
178
  }
161
179
 
162
180
  _mapManagerCommand(name) {
@@ -1 +1 @@
1
- {"version":3,"names":["PropTypes","React","ViewPropTypes","ColorPropType","requireNativeComponent","Platform","Image","NativeModules","findNodeHandle","processColor","viewPropTypes","View","propTypes","coordinate","shape","latitude","number","isRequired","longitude","title","string","titleColor","subtitle","poiType","icon","uri","any","zIndex","userData","object","onPress","func","MFPOI","Component","constructor","props","_onPress","bind","_ref","event","stopPropagation","ref","poi","setCoordinate","_runCommand","setTitle","setTitleColor","color","setSubTitle","setPoiType","type","setIcon","resolveAssetSource","setZIndex","setUserData","_getHandle","name","args","OS","UIManager","dispatchViewManagerCommand","_uiManagerCommand","_mapManagerCommand","componentName","getViewManagerConfig","Commands","render","RMFPOI"],"sources":["MFPOI.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport {ViewPropTypes, ColorPropType} from 'deprecated-react-native-prop-types';\nimport {\n requireNativeComponent,\n Platform,\n Image,\n NativeModules,\n findNodeHandle,\n processColor\n} from 'react-native';\n\n// if ViewPropTypes is not defined fall back to View.propType (to support RN < 0.44)\nconst viewPropTypes = ViewPropTypes || View.propTypes;\n\nconst propTypes = {\n ...viewPropTypes,\n\n /**\n * The coordinate for the POI.\n */\n coordinate: PropTypes.shape({\n latitude: PropTypes.number.isRequired,\n longitude: PropTypes.number.isRequired,\n }).isRequired,\n\n /**\n * The title of the POI.\n */\n title: PropTypes.string,\n\n /**\n * The color of the title.\n */\n titleColor: ColorPropType,\n\n /**\n * The subtile of the POI.\n */\n subtitle: PropTypes.string,\n\n /**\n * The type of POI\n */\n //poiType: PropTypes.oneOf(['cafe', 'atm', 'bank']),\n poiType: PropTypes.string,\n\n /**\n * POI icon to render.\n */\n icon: PropTypes.shape({\n uri: PropTypes.any.isRequired\n }),\n\n /**\n * zIndex\n */\n zIndex: PropTypes.number,\n\n /**\n * visible\n */\n //TODO\n // visible: PropTypes.bool,\n\n /**\n * userData\n */\n userData:PropTypes.object,\n\n /**\n * Callback that is called when the user presses on the POI\n */\n onPress: PropTypes.func,\n};\n\nclass MFPOI extends React.Component {\n constructor(props) {\n super(props);\n this._onPress = this._onPress.bind(this)\n this._ref = this._ref.bind(this)\n }\n\n _onPress(event) {\n event.stopPropagation();\n if (this.props.onPress) {\n this.props.onPress(event);\n }\n }\n\n _ref(ref) {\n this.poi = ref;\n }\n\n setCoordinate(coordinate) {\n this._runCommand(\"setCoordinate\", [coordinate])\n }\n setTitle(title) {\n this._runCommand(\"setTitle\", [title])\n }\n setTitleColor(color) {\n this._runCommand(\"setTitleColor\", [processColor(color)])\n }\n setSubTitle(subtitle) {\n this._runCommand(\"setSubTitle\", [subtitle])\n }\n setPoiType(type) {\n this._runCommand(\"setPoiType\", [type])\n }\n setIcon(icon) {\n let uri = Image.resolveAssetSource(icon.uri) || { uri: icon.uri }\n this._runCommand(\"setIcon\", [ { uri: uri.uri } ])\n }\n setZIndex(zIndex) {\n this._runCommand(\"setZIndex\", [zIndex])\n }\n // setVisible(visible) {\n // this._runCommand(\"setVisible\", [visible])\n // }\n setUserData(userData) {\n this._runCommand(\"setUserData\", [userData])\n }\n\n _getHandle() {\n return findNodeHandle(this.poi);\n }\n\n\n _runCommand(name, args) {\n switch (Platform.OS) {\n case 'android':\n NativeModules.UIManager.dispatchViewManagerCommand(\n this._getHandle(),\n this._uiManagerCommand(name),\n args\n );\n break;\n\n case 'ios':\n this._mapManagerCommand(name)(this._getHandle(), ...args);\n break;\n\n default:\n break;\n }\n }\n\n _uiManagerCommand(name) {\n const UIManager = NativeModules.UIManager;\n const componentName = \"RMFPOI\";\n\n if (!UIManager.getViewManagerConfig) {\n // RN < 0.58\n return UIManager[componentName].Commands[name];\n }\n\n // RN >= 0.58 \n return UIManager.getViewManagerConfig(componentName).Commands[name];\n }\n \n _mapManagerCommand(name) {\n return NativeModules[`RMFPOI`][name];\n }\n\n render() {\n let icon = {}\n if (this.props.icon) {\n let uri = Image.resolveAssetSource(this.props.icon.uri) || {uri: this.props.icon.uri}\n icon = { uri: uri.uri }\n }\n return <RMFPOI\n {...this.props}\n icon={icon}\n ref={this._ref}\n onPress={this._onPress}\n />;\n }\n}\n\nMFPOI.propTypes = propTypes;\n\nvar RMFPOI = requireNativeComponent(`RMFPOI`, MFPOI);\n\nexport {MFPOI}\n"],"mappings":"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"}
1
+ {"version":3,"names":["PropTypes","React","ViewPropTypes","ColorPropType","requireNativeComponent","Platform","Image","UIManager","NativeModules","findNodeHandle","processColor","viewPropTypes","View","propTypes","coordinate","shape","latitude","number","isRequired","longitude","title","string","titleColor","subtitle","poiType","icon","uri","any","zIndex","userData","object","onPress","func","MFPOI","Component","constructor","props","_onPress","bind","_ref","event","stopPropagation","ref","poi","setCoordinate","_runCommand","setTitle","setTitleColor","color","setSubTitle","setPoiType","type","setIcon","resolveAssetSource","setZIndex","setUserData","_getHandle","name","args","OS","dispatchViewManagerCommand","commandId","_uiManagerCommand","_mapManagerCommand","uiManager","componentName","getViewManagerConfig","legacyConfig","Commands","config","render","RMFPOI"],"sources":["MFPOI.js"],"sourcesContent":["import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport {ViewPropTypes, ColorPropType} from 'deprecated-react-native-prop-types';\r\nimport {\r\n requireNativeComponent,\r\n Platform,\r\n Image,\r\n UIManager,\r\n NativeModules,\r\n findNodeHandle,\r\n processColor\r\n} from 'react-native';\r\n\r\n// if ViewPropTypes is not defined fall back to View.propType (to support RN < 0.44)\r\nconst viewPropTypes = ViewPropTypes || View.propTypes;\r\n\r\nconst propTypes = {\r\n ...viewPropTypes,\r\n\r\n /**\r\n * The coordinate for the POI.\r\n */\r\n coordinate: PropTypes.shape({\r\n latitude: PropTypes.number.isRequired,\r\n longitude: PropTypes.number.isRequired,\r\n }).isRequired,\r\n\r\n /**\r\n * The title of the POI.\r\n */\r\n title: PropTypes.string,\r\n\r\n /**\r\n * The color of the title.\r\n */\r\n titleColor: ColorPropType,\r\n\r\n /**\r\n * The subtile of the POI.\r\n */\r\n subtitle: PropTypes.string,\r\n\r\n /**\r\n * The type of POI\r\n */\r\n //poiType: PropTypes.oneOf(['cafe', 'atm', 'bank']),\r\n poiType: PropTypes.string,\r\n\r\n /**\r\n * POI icon to render.\r\n */\r\n icon: PropTypes.shape({\r\n uri: PropTypes.any.isRequired\r\n }),\r\n\r\n /**\r\n * zIndex\r\n */\r\n zIndex: PropTypes.number,\r\n\r\n /**\r\n * visible\r\n */\r\n //TODO\r\n // visible: PropTypes.bool,\r\n\r\n /**\r\n * userData\r\n */\r\n userData:PropTypes.object,\r\n\r\n /**\r\n * Callback that is called when the user presses on the POI\r\n */\r\n onPress: PropTypes.func,\r\n};\r\n\r\nclass MFPOI extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this._onPress = this._onPress.bind(this)\r\n this._ref = this._ref.bind(this)\r\n }\r\n\r\n _onPress(event) {\r\n event.stopPropagation();\r\n if (this.props.onPress) {\r\n this.props.onPress(event);\r\n }\r\n }\r\n\r\n _ref(ref) {\r\n this.poi = ref;\r\n }\r\n\r\n setCoordinate(coordinate) {\r\n this._runCommand(\"setCoordinate\", [coordinate])\r\n }\r\n setTitle(title) {\r\n this._runCommand(\"setTitle\", [title])\r\n }\r\n setTitleColor(color) {\r\n this._runCommand(\"setTitleColor\", [processColor(color)])\r\n }\r\n setSubTitle(subtitle) {\r\n this._runCommand(\"setSubTitle\", [subtitle])\r\n }\r\n setPoiType(type) {\r\n this._runCommand(\"setPoiType\", [type])\r\n }\r\n setIcon(icon) {\r\n let uri = Image.resolveAssetSource(icon.uri) || { uri: icon.uri }\r\n this._runCommand(\"setIcon\", [ { uri: uri.uri } ])\r\n }\r\n setZIndex(zIndex) {\r\n this._runCommand(\"setZIndex\", [zIndex])\r\n }\r\n // setVisible(visible) {\r\n // this._runCommand(\"setVisible\", [visible])\r\n // }\r\n setUserData(userData) {\r\n this._runCommand(\"setUserData\", [userData])\r\n }\r\n\r\n _getHandle() {\r\n return findNodeHandle(this.poi);\r\n }\r\n\r\n\r\n _runCommand(name, args) {\r\n switch (Platform.OS) {\r\n case 'android': {\r\n if (!UIManager || typeof UIManager.dispatchViewManagerCommand !== 'function') {\r\n return;\r\n }\r\n\r\n const commandId = this._uiManagerCommand(name);\r\n if (commandId == null) {\r\n return;\r\n }\r\n\r\n UIManager.dispatchViewManagerCommand(this._getHandle(), commandId, args);\r\n break;\r\n }\r\n\r\n case 'ios':\r\n this._mapManagerCommand(name)(this._getHandle(), ...args);\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n _uiManagerCommand(name) {\r\n const uiManager = UIManager || NativeModules.UIManager;\r\n const componentName = \"RMFPOI\";\r\n\r\n if (!uiManager) {\r\n return null;\r\n }\r\n\r\n if (!uiManager.getViewManagerConfig) {\r\n // RN < 0.58\r\n const legacyConfig = uiManager[componentName];\r\n return legacyConfig && legacyConfig.Commands ? legacyConfig.Commands[name] : null;\r\n }\r\n\r\n // RN >= 0.58 \r\n const config = uiManager.getViewManagerConfig(componentName);\r\n return config && config.Commands ? config.Commands[name] : null;\r\n }\r\n \r\n _mapManagerCommand(name) {\r\n return NativeModules[`RMFPOI`][name];\r\n }\r\n\r\n render() {\r\n let icon = {}\r\n if (this.props.icon) {\r\n let uri = Image.resolveAssetSource(this.props.icon.uri) || {uri: this.props.icon.uri}\r\n icon = { uri: uri.uri }\r\n }\r\n return <RMFPOI\r\n {...this.props}\r\n icon={icon}\r\n ref={this._ref}\r\n onPress={this._onPress}\r\n />;\r\n }\r\n}\r\n\r\nMFPOI.propTypes = propTypes;\r\n\r\nvar RMFPOI = requireNativeComponent(`RMFPOI`, MFPOI);\r\n\r\nexport {MFPOI}\r\n"],"mappings":"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"}
@@ -3,65 +3,65 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
3
3
  import React from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import { ViewPropTypes, ColorPropType } from 'deprecated-react-native-prop-types';
6
- import { requireNativeComponent, Platform, NativeModules, findNodeHandle, processColor } from 'react-native'; // if ViewPropTypes is not defined fall back to View.propType (to support RN < 0.44)
6
+ import { requireNativeComponent, Platform, UIManager, NativeModules, findNodeHandle, processColor } from 'react-native'; // if ViewPropTypes is not defined fall back to View.propType (to support RN < 0.44)
7
7
 
8
8
  const viewPropTypes = ViewPropTypes || View.propTypes;
9
9
  const propTypes = { ...viewPropTypes,
10
10
 
11
- /**
12
- * An array of coordinates to describe the polygon
11
+ /**
12
+ * An array of coordinates to describe the polygon
13
13
  */
14
14
  coordinates: PropTypes.arrayOf(PropTypes.shape({
15
- /**
16
- * Latitude/Longitude coordinates
15
+ /**
16
+ * Latitude/Longitude coordinates
17
17
  */
18
18
  latitude: PropTypes.number.isRequired,
19
19
  longitude: PropTypes.number.isRequired
20
20
  })),
21
21
 
22
- /**
23
- * An array of array of coordinates to describe the polygon holes
22
+ /**
23
+ * An array of array of coordinates to describe the polygon holes
24
24
  */
25
25
  holes: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.shape({
26
- /**
27
- * Latitude/Longitude coordinates
26
+ /**
27
+ * Latitude/Longitude coordinates
28
28
  */
29
29
  latitude: PropTypes.number.isRequired,
30
30
  longitude: PropTypes.number.isRequired
31
31
  }))),
32
32
 
33
- /**
34
- * The color to use for the polygon.
33
+ /**
34
+ * The color to use for the polygon.
35
35
  */
36
36
  fillColor: ColorPropType,
37
37
 
38
- /**
39
- * The color to use for the polygon stroke.
38
+ /**
39
+ * The color to use for the polygon stroke.
40
40
  */
41
41
  strokeColor: ColorPropType,
42
42
 
43
- /**
44
- * The stroke width to use for the polygon.
43
+ /**
44
+ * The stroke width to use for the polygon.
45
45
  */
46
46
  strokeWidth: PropTypes.number,
47
47
 
48
- /**
49
- * zIndex
48
+ /**
49
+ * zIndex
50
50
  */
51
51
  zIndex: PropTypes.number,
52
52
 
53
- /**
54
- * visible
53
+ /**
54
+ * visible
55
55
  */
56
56
  visible: PropTypes.bool,
57
57
 
58
- /**
59
- * userData
58
+ /**
59
+ * userData
60
60
  */
61
61
  userData: PropTypes.object,
62
62
 
63
- /**
64
- * Callback that is called when the user presses on the polygon
63
+ /**
64
+ * Callback that is called when the user presses on the polygon
65
65
  */
66
66
  onPress: PropTypes.func
67
67
  };
@@ -124,8 +124,20 @@ class MFPolygon extends React.Component {
124
124
  _runCommand(name, args) {
125
125
  switch (Platform.OS) {
126
126
  case 'android':
127
- NativeModules.UIManager.dispatchViewManagerCommand(this._getHandle(), this._uiManagerCommand(name), args);
128
- break;
127
+ {
128
+ if (!UIManager || typeof UIManager.dispatchViewManagerCommand !== 'function') {
129
+ return;
130
+ }
131
+
132
+ const commandId = this._uiManagerCommand(name);
133
+
134
+ if (commandId == null) {
135
+ return;
136
+ }
137
+
138
+ UIManager.dispatchViewManagerCommand(this._getHandle(), commandId, args);
139
+ break;
140
+ }
129
141
 
130
142
  case 'ios':
131
143
  this._mapManagerCommand(name)(this._getHandle(), ...args);
@@ -138,16 +150,22 @@ class MFPolygon extends React.Component {
138
150
  }
139
151
 
140
152
  _uiManagerCommand(name) {
141
- const UIManager = NativeModules.UIManager;
153
+ const uiManager = UIManager || NativeModules.UIManager;
142
154
  const componentName = "RMFPolygon";
143
155
 
144
- if (!UIManager.getViewManagerConfig) {
156
+ if (!uiManager) {
157
+ return null;
158
+ }
159
+
160
+ if (!uiManager.getViewManagerConfig) {
145
161
  // RN < 0.58
146
- return UIManager[componentName].Commands[name];
162
+ const legacyConfig = uiManager[componentName];
163
+ return legacyConfig && legacyConfig.Commands ? legacyConfig.Commands[name] : null;
147
164
  } // RN >= 0.58
148
165
 
149
166
 
150
- return UIManager.getViewManagerConfig(componentName).Commands[name];
167
+ const config = uiManager.getViewManagerConfig(componentName);
168
+ return config && config.Commands ? config.Commands[name] : null;
151
169
  }
152
170
 
153
171
  _mapManagerCommand(name) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","PropTypes","ViewPropTypes","ColorPropType","requireNativeComponent","Platform","NativeModules","findNodeHandle","processColor","viewPropTypes","View","propTypes","coordinates","arrayOf","shape","latitude","number","isRequired","longitude","holes","fillColor","strokeColor","strokeWidth","zIndex","visible","bool","userData","object","onPress","func","MFPolygon","Component","constructor","props","_onPress","bind","_ref","event","stopPropagation","ref","polygon","setCoordinates","_runCommand","setHoles","setFillColor","color","setStrokeColor","setStrokeWidth","width","setVisible","setZIndex","setUserData","_getHandle","name","args","OS","UIManager","dispatchViewManagerCommand","_uiManagerCommand","_mapManagerCommand","componentName","getViewManagerConfig","Commands","render","RMFPolygon"],"sources":["MFPolygon.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {ViewPropTypes, ColorPropType} from 'deprecated-react-native-prop-types';\nimport {\n requireNativeComponent,\n Platform,\n NativeModules,\n findNodeHandle,\n processColor\n} from 'react-native';\n\n// if ViewPropTypes is not defined fall back to View.propType (to support RN < 0.44)\nconst viewPropTypes = ViewPropTypes || View.propTypes;\n\nconst propTypes = {\n ...viewPropTypes,\n\n /**\n * An array of coordinates to describe the polygon\n */\n coordinates: PropTypes.arrayOf(\n PropTypes.shape({\n /**\n * Latitude/Longitude coordinates\n */\n latitude: PropTypes.number.isRequired,\n longitude: PropTypes.number.isRequired,\n })\n ),\n\n /**\n * An array of array of coordinates to describe the polygon holes\n */\n holes: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n /**\n * Latitude/Longitude coordinates\n */\n latitude: PropTypes.number.isRequired,\n longitude: PropTypes.number.isRequired,\n })\n )\n ),\n\n /**\n * The color to use for the polygon.\n */\n fillColor: ColorPropType,\n\n /**\n * The color to use for the polygon stroke.\n */\n strokeColor: ColorPropType,\n\n /**\n * The stroke width to use for the polygon.\n */\n strokeWidth: PropTypes.number,\n\n /**\n * zIndex\n */\n zIndex: PropTypes.number,\n\n /**\n * visible\n */\n visible: PropTypes.bool,\n\n /**\n * userData\n */\n userData:PropTypes.object,\n\n /**\n * Callback that is called when the user presses on the polygon\n */\n onPress: PropTypes.func,\n};\n\n\nclass MFPolygon extends React.Component {\n constructor(props) {\n super(props);\n this._onPress = this._onPress.bind(this)\n this._ref = this._ref.bind(this)\n }\n\n _onPress(event) {\n event.stopPropagation();\n if (this.props.onPress) {\n this.props.onPress(event);\n }\n }\n\n _ref(ref) {\n this.polygon = ref;\n }\n\n setCoordinates(coordinates) {\n this._runCommand(\"setCoordinates\", [coordinates])\n }\n\n setHoles(holes) {\n this._runCommand(\"setHoles\", [holes])\n }\n\n setFillColor(color) {\n this._runCommand(\"setFillColor\", [processColor(color)])\n }\n\n setStrokeColor(color) {\n this._runCommand(\"setStrokeColor\", [processColor(color)])\n }\n\n setStrokeWidth(width) {\n this._runCommand(\"setStrokeWidth\", [width])\n }\n\n setVisible(visible) {\n this._runCommand(\"setVisible\", [visible])\n }\n\n setZIndex(zIndex) {\n this._runCommand(\"setZIndex\", [zIndex])\n }\n\n setUserData(userData) {\n this._runCommand(\"setUserData\", [userData])\n }\n\n _getHandle() {\n return findNodeHandle(this.polygon);\n }\n\n _runCommand(name, args) {\n switch (Platform.OS) {\n case 'android':\n NativeModules.UIManager.dispatchViewManagerCommand(\n this._getHandle(),\n this._uiManagerCommand(name),\n args\n );\n break;\n\n case 'ios':\n this._mapManagerCommand(name)(this._getHandle(), ...args);\n break;\n\n default:\n break;\n }\n }\n\n _uiManagerCommand(name) {\n const UIManager = NativeModules.UIManager;\n const componentName = \"RMFPolygon\";\n\n if (!UIManager.getViewManagerConfig) {\n // RN < 0.58\n return UIManager[componentName].Commands[name];\n }\n\n // RN >= 0.58 \n return UIManager.getViewManagerConfig(componentName).Commands[name];\n }\n\n _mapManagerCommand(name) {\n return NativeModules[`RMFPolygon`][name];\n }\n\n render() {\n return <RMFPolygon\n {...this.props}\n ref={this._ref}\n onPress={this._onPress}\n />;\n }\n}\n\nMFPolygon.propTypes = propTypes;\n\nvar RMFPolygon = requireNativeComponent(`RMFPolygon`, MFPolygon);\n\nexport { MFPolygon }\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","PropTypes","ViewPropTypes","ColorPropType","requireNativeComponent","Platform","UIManager","NativeModules","findNodeHandle","processColor","viewPropTypes","View","propTypes","coordinates","arrayOf","shape","latitude","number","isRequired","longitude","holes","fillColor","strokeColor","strokeWidth","zIndex","visible","bool","userData","object","onPress","func","MFPolygon","Component","constructor","props","_onPress","bind","_ref","event","stopPropagation","ref","polygon","setCoordinates","_runCommand","setHoles","setFillColor","color","setStrokeColor","setStrokeWidth","width","setVisible","setZIndex","setUserData","_getHandle","name","args","OS","dispatchViewManagerCommand","commandId","_uiManagerCommand","_mapManagerCommand","uiManager","componentName","getViewManagerConfig","legacyConfig","Commands","config","render","RMFPolygon"],"sources":["MFPolygon.js"],"sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {ViewPropTypes, ColorPropType} from 'deprecated-react-native-prop-types';\r\nimport {\r\n requireNativeComponent,\r\n Platform,\r\n UIManager,\r\n NativeModules,\r\n findNodeHandle,\r\n processColor\r\n} from 'react-native';\r\n\r\n// if ViewPropTypes is not defined fall back to View.propType (to support RN < 0.44)\r\nconst viewPropTypes = ViewPropTypes || View.propTypes;\r\n\r\nconst propTypes = {\r\n ...viewPropTypes,\r\n\r\n /**\r\n * An array of coordinates to describe the polygon\r\n */\r\n coordinates: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n /**\r\n * Latitude/Longitude coordinates\r\n */\r\n latitude: PropTypes.number.isRequired,\r\n longitude: PropTypes.number.isRequired,\r\n })\r\n ),\r\n\r\n /**\r\n * An array of array of coordinates to describe the polygon holes\r\n */\r\n holes: PropTypes.arrayOf(\r\n PropTypes.arrayOf(\r\n PropTypes.shape({\r\n /**\r\n * Latitude/Longitude coordinates\r\n */\r\n latitude: PropTypes.number.isRequired,\r\n longitude: PropTypes.number.isRequired,\r\n })\r\n )\r\n ),\r\n\r\n /**\r\n * The color to use for the polygon.\r\n */\r\n fillColor: ColorPropType,\r\n\r\n /**\r\n * The color to use for the polygon stroke.\r\n */\r\n strokeColor: ColorPropType,\r\n\r\n /**\r\n * The stroke width to use for the polygon.\r\n */\r\n strokeWidth: PropTypes.number,\r\n\r\n /**\r\n * zIndex\r\n */\r\n zIndex: PropTypes.number,\r\n\r\n /**\r\n * visible\r\n */\r\n visible: PropTypes.bool,\r\n\r\n /**\r\n * userData\r\n */\r\n userData:PropTypes.object,\r\n\r\n /**\r\n * Callback that is called when the user presses on the polygon\r\n */\r\n onPress: PropTypes.func,\r\n};\r\n\r\n\r\nclass MFPolygon extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this._onPress = this._onPress.bind(this)\r\n this._ref = this._ref.bind(this)\r\n }\r\n\r\n _onPress(event) {\r\n event.stopPropagation();\r\n if (this.props.onPress) {\r\n this.props.onPress(event);\r\n }\r\n }\r\n\r\n _ref(ref) {\r\n this.polygon = ref;\r\n }\r\n\r\n setCoordinates(coordinates) {\r\n this._runCommand(\"setCoordinates\", [coordinates])\r\n }\r\n\r\n setHoles(holes) {\r\n this._runCommand(\"setHoles\", [holes])\r\n }\r\n\r\n setFillColor(color) {\r\n this._runCommand(\"setFillColor\", [processColor(color)])\r\n }\r\n\r\n setStrokeColor(color) {\r\n this._runCommand(\"setStrokeColor\", [processColor(color)])\r\n }\r\n\r\n setStrokeWidth(width) {\r\n this._runCommand(\"setStrokeWidth\", [width])\r\n }\r\n\r\n setVisible(visible) {\r\n this._runCommand(\"setVisible\", [visible])\r\n }\r\n\r\n setZIndex(zIndex) {\r\n this._runCommand(\"setZIndex\", [zIndex])\r\n }\r\n\r\n setUserData(userData) {\r\n this._runCommand(\"setUserData\", [userData])\r\n }\r\n\r\n _getHandle() {\r\n return findNodeHandle(this.polygon);\r\n }\r\n\r\n _runCommand(name, args) {\r\n switch (Platform.OS) {\r\n case 'android': {\r\n if (!UIManager || typeof UIManager.dispatchViewManagerCommand !== 'function') {\r\n return;\r\n }\r\n\r\n const commandId = this._uiManagerCommand(name);\r\n if (commandId == null) {\r\n return;\r\n }\r\n\r\n UIManager.dispatchViewManagerCommand(this._getHandle(), commandId, args);\r\n break;\r\n }\r\n\r\n case 'ios':\r\n this._mapManagerCommand(name)(this._getHandle(), ...args);\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n _uiManagerCommand(name) {\r\n const uiManager = UIManager || NativeModules.UIManager;\r\n const componentName = \"RMFPolygon\";\r\n\r\n if (!uiManager) {\r\n return null;\r\n }\r\n\r\n if (!uiManager.getViewManagerConfig) {\r\n // RN < 0.58\r\n const legacyConfig = uiManager[componentName];\r\n return legacyConfig && legacyConfig.Commands ? legacyConfig.Commands[name] : null;\r\n }\r\n\r\n // RN >= 0.58 \r\n const config = uiManager.getViewManagerConfig(componentName);\r\n return config && config.Commands ? config.Commands[name] : null;\r\n }\r\n\r\n _mapManagerCommand(name) {\r\n return NativeModules[`RMFPolygon`][name];\r\n }\r\n\r\n render() {\r\n return <RMFPolygon\r\n {...this.props}\r\n ref={this._ref}\r\n onPress={this._onPress}\r\n />;\r\n }\r\n}\r\n\r\nMFPolygon.propTypes = propTypes;\r\n\r\nvar RMFPolygon = requireNativeComponent(`RMFPolygon`, MFPolygon);\r\n\r\nexport { MFPolygon }\r\n"],"mappings":"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"}