react-native-map4d-map-dtqg 0.1.0

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 (155) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +41 -0
  3. package/android/build.gradle +60 -0
  4. package/android/src/main/AndroidManifest.xml +4 -0
  5. package/android/src/main/java/com/reactnativemap4dmap/ImageUtils.java +87 -0
  6. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapModule.java +298 -0
  7. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapPackage.java +35 -0
  8. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapViewManager.java +31 -0
  9. package/android/src/main/java/com/reactnativemap4dmap/RMFBuilding.java +167 -0
  10. package/android/src/main/java/com/reactnativemap4dmap/RMFBuildingManager.java +121 -0
  11. package/android/src/main/java/com/reactnativemap4dmap/RMFCircle.java +105 -0
  12. package/android/src/main/java/com/reactnativemap4dmap/RMFCircleManager.java +122 -0
  13. package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRenderer.java +502 -0
  14. package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRendererManager.java +143 -0
  15. package/android/src/main/java/com/reactnativemap4dmap/RMFFeature.java +18 -0
  16. package/android/src/main/java/com/reactnativemap4dmap/RMFMapView.java +1172 -0
  17. package/android/src/main/java/com/reactnativemap4dmap/RMFMapViewManager.java +226 -0
  18. package/android/src/main/java/com/reactnativemap4dmap/RMFMarker.java +412 -0
  19. package/android/src/main/java/com/reactnativemap4dmap/RMFMarkerManager.java +212 -0
  20. package/android/src/main/java/com/reactnativemap4dmap/RMFPOI.java +222 -0
  21. package/android/src/main/java/com/reactnativemap4dmap/RMFPOIManager.java +119 -0
  22. package/android/src/main/java/com/reactnativemap4dmap/RMFPolygon.java +173 -0
  23. package/android/src/main/java/com/reactnativemap4dmap/RMFPolygonManager.java +148 -0
  24. package/android/src/main/java/com/reactnativemap4dmap/RMFPolyline.java +146 -0
  25. package/android/src/main/java/com/reactnativemap4dmap/RMFPolylineManager.java +138 -0
  26. package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlay.java +95 -0
  27. package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlayManager.java +65 -0
  28. package/android/src/main/java/com/reactnativemap4dmap/SizeReportingShadowNode.java +31 -0
  29. package/android/src/main/java/com/reactnativemap4dmap/ViewAttacherGroup.java +31 -0
  30. package/android/src/main/java/com/reactnativemap4dmap/ViewChangesTracker.java +70 -0
  31. package/android/src/main/java/vn/map4d/map/annotations/RMFBitmapDescriptor.java +9 -0
  32. package/ios/Map4dMap.h +7 -0
  33. package/ios/Map4dMap.m +14 -0
  34. package/ios/Map4dMap.xcodeproj/project.pbxproj +282 -0
  35. package/ios/Map4dMapViewManager.m +34 -0
  36. package/ios/RCTConvert+Map4dMap.h +33 -0
  37. package/ios/RCTConvert+Map4dMap.m +112 -0
  38. package/ios/RMFCircle.h +37 -0
  39. package/ios/RMFCircle.m +100 -0
  40. package/ios/RMFCircleManager.h +18 -0
  41. package/ios/RMFCircleManager.m +155 -0
  42. package/ios/RMFCircleMap4d.h +23 -0
  43. package/ios/RMFCircleMap4d.m +13 -0
  44. package/ios/RMFCoordinate.h +22 -0
  45. package/ios/RMFCoordinate.m +13 -0
  46. package/ios/RMFDirectionsMarkerOptions.h +24 -0
  47. package/ios/RMFDirectionsMarkerOptions.m +23 -0
  48. package/ios/RMFDirectionsRenderer.h +47 -0
  49. package/ios/RMFDirectionsRenderer.m +182 -0
  50. package/ios/RMFDirectionsRendererManager.h +17 -0
  51. package/ios/RMFDirectionsRendererManager.m +84 -0
  52. package/ios/RMFDirectionsRendererMap4d.h +21 -0
  53. package/ios/RMFDirectionsRendererMap4d.m +12 -0
  54. package/ios/RMFDummyView.h +7 -0
  55. package/ios/RMFDummyView.m +13 -0
  56. package/ios/RMFEventResponse.h +39 -0
  57. package/ios/RMFEventResponse.m +98 -0
  58. package/ios/RMFIcon.h +24 -0
  59. package/ios/RMFIcon.m +35 -0
  60. package/ios/RMFMapView.h +84 -0
  61. package/ios/RMFMapView.m +376 -0
  62. package/ios/RMFMapViewManager.h +17 -0
  63. package/ios/RMFMapViewManager.m +493 -0
  64. package/ios/RMFMarker.h +57 -0
  65. package/ios/RMFMarker.m +267 -0
  66. package/ios/RMFMarkerManager.h +17 -0
  67. package/ios/RMFMarkerManager.m +156 -0
  68. package/ios/RMFMarkerMap4d.h +19 -0
  69. package/ios/RMFMarkerMap4d.m +13 -0
  70. package/ios/RMFPOI.h +38 -0
  71. package/ios/RMFPOI.m +123 -0
  72. package/ios/RMFPOIManager.h +18 -0
  73. package/ios/RMFPOIManager.m +168 -0
  74. package/ios/RMFPOIMap4d.h +22 -0
  75. package/ios/RMFPOIMap4d.m +12 -0
  76. package/ios/RMFPolygon.h +41 -0
  77. package/ios/RMFPolygon.m +106 -0
  78. package/ios/RMFPolygonManager.h +18 -0
  79. package/ios/RMFPolygonManager.m +141 -0
  80. package/ios/RMFPolygonMap4d.h +23 -0
  81. package/ios/RMFPolygonMap4d.m +15 -0
  82. package/ios/RMFPolyline.h +38 -0
  83. package/ios/RMFPolyline.m +101 -0
  84. package/ios/RMFPolylineManager.h +18 -0
  85. package/ios/RMFPolylineManager.m +139 -0
  86. package/ios/RMFPolylineMap4d.h +22 -0
  87. package/ios/RMFPolylineMap4d.m +15 -0
  88. package/ios/building/RMFBuilding.h +41 -0
  89. package/ios/building/RMFBuilding.m +104 -0
  90. package/ios/building/RMFBuildingManager.h +19 -0
  91. package/ios/building/RMFBuildingManager.m +133 -0
  92. package/ios/building/RMFBuildingMap4d.h +23 -0
  93. package/ios/building/RMFBuildingMap4d.m +15 -0
  94. package/ios/overlays/RMFTileOverlay.h +36 -0
  95. package/ios/overlays/RMFTileOverlay.m +64 -0
  96. package/ios/overlays/RMFTileOverlayManager.h +17 -0
  97. package/ios/overlays/RMFTileOverlayManager.m +27 -0
  98. package/lib/commonjs/components/MFBuilding.js +192 -0
  99. package/lib/commonjs/components/MFBuilding.js.map +1 -0
  100. package/lib/commonjs/components/MFCircle.js +181 -0
  101. package/lib/commonjs/components/MFCircle.js.map +1 -0
  102. package/lib/commonjs/components/MFDirectionsRenderer.js +240 -0
  103. package/lib/commonjs/components/MFDirectionsRenderer.js.map +1 -0
  104. package/lib/commonjs/components/MFMapView.js +375 -0
  105. package/lib/commonjs/components/MFMapView.js.map +1 -0
  106. package/lib/commonjs/components/MFMarker.js +255 -0
  107. package/lib/commonjs/components/MFMarker.js.map +1 -0
  108. package/lib/commonjs/components/MFPOI.js +204 -0
  109. package/lib/commonjs/components/MFPOI.js.map +1 -0
  110. package/lib/commonjs/components/MFPolygon.js +183 -0
  111. package/lib/commonjs/components/MFPolygon.js.map +1 -0
  112. package/lib/commonjs/components/MFPolyline.js +173 -0
  113. package/lib/commonjs/components/MFPolyline.js.map +1 -0
  114. package/lib/commonjs/components/MFTileOverlay.js +51 -0
  115. package/lib/commonjs/components/MFTileOverlay.js.map +1 -0
  116. package/lib/commonjs/components/Map4dMapView.js +19 -0
  117. package/lib/commonjs/components/Map4dMapView.js.map +1 -0
  118. package/lib/commonjs/index.js +78 -0
  119. package/lib/commonjs/index.js.map +1 -0
  120. package/lib/module/components/MFBuilding.js +178 -0
  121. package/lib/module/components/MFBuilding.js.map +1 -0
  122. package/lib/module/components/MFCircle.js +167 -0
  123. package/lib/module/components/MFCircle.js.map +1 -0
  124. package/lib/module/components/MFDirectionsRenderer.js +226 -0
  125. package/lib/module/components/MFDirectionsRenderer.js.map +1 -0
  126. package/lib/module/components/MFMapView.js +361 -0
  127. package/lib/module/components/MFMapView.js.map +1 -0
  128. package/lib/module/components/MFMarker.js +240 -0
  129. package/lib/module/components/MFMarker.js.map +1 -0
  130. package/lib/module/components/MFPOI.js +190 -0
  131. package/lib/module/components/MFPOI.js.map +1 -0
  132. package/lib/module/components/MFPolygon.js +169 -0
  133. package/lib/module/components/MFPolygon.js.map +1 -0
  134. package/lib/module/components/MFPolyline.js +159 -0
  135. package/lib/module/components/MFPolyline.js.map +1 -0
  136. package/lib/module/components/MFTileOverlay.js +38 -0
  137. package/lib/module/components/MFTileOverlay.js.map +1 -0
  138. package/lib/module/components/Map4dMapView.js +10 -0
  139. package/lib/module/components/Map4dMapView.js.map +1 -0
  140. package/lib/module/index.js +11 -0
  141. package/lib/module/index.js.map +1 -0
  142. package/lib/typescript/components/Map4dMapView.d.ts +7 -0
  143. package/package.json +152 -0
  144. package/react-native-map4d-map.podspec +20 -0
  145. package/src/components/MFBuilding.js +188 -0
  146. package/src/components/MFCircle.js +173 -0
  147. package/src/components/MFDirectionsRenderer.js +237 -0
  148. package/src/components/MFMapView.js +374 -0
  149. package/src/components/MFMarker.js +246 -0
  150. package/src/components/MFPOI.js +184 -0
  151. package/src/components/MFPolygon.js +186 -0
  152. package/src/components/MFPolyline.js +172 -0
  153. package/src/components/MFTileOverlay.js +45 -0
  154. package/src/components/Map4dMapView.tsx +27 -0
  155. package/src/index.js +21 -0
@@ -0,0 +1,173 @@
1
+ import PropTypes from 'prop-types';
2
+ import React from 'react';
3
+ import {ViewPropTypes, ColorPropType} from 'deprecated-react-native-prop-types';
4
+ import {
5
+ requireNativeComponent,
6
+ Platform,
7
+ NativeModules,
8
+ findNodeHandle,
9
+ processColor
10
+ } from 'react-native';
11
+
12
+ // if ViewPropTypes is not defined fall back to View.propType (to support RN < 0.44)
13
+ const viewPropTypes = ViewPropTypes || View.propTypes;
14
+
15
+ const propTypes = {
16
+ ...viewPropTypes,
17
+
18
+ /**
19
+ * The coordinate of the center of the circle
20
+ */
21
+ center: PropTypes.shape({
22
+ /**
23
+ * Coordinates for the center of the circle.
24
+ */
25
+ latitude: PropTypes.number.isRequired,
26
+ longitude: PropTypes.number.isRequired,
27
+ }).isRequired,
28
+
29
+ /**
30
+ * The radius of the circle to be drawn (in meters)
31
+ */
32
+ radius: PropTypes.number.isRequired,
33
+
34
+ /**
35
+ * The stroke width to use for the circle.
36
+ */
37
+ strokeWidth: PropTypes.number,
38
+
39
+ /**
40
+ * The stroke color to use for the circle.
41
+ */
42
+ strokeColor: ColorPropType,
43
+
44
+ /**
45
+ * The fill color to use for the circle.
46
+ */
47
+ fillColor: ColorPropType,
48
+
49
+ /**
50
+ * zIndex
51
+ */
52
+ zIndex: PropTypes.number,
53
+
54
+ /**
55
+ * visible
56
+ */
57
+ visible: PropTypes.bool,
58
+
59
+ /**
60
+ * userData
61
+ */
62
+ userData:PropTypes.object,
63
+
64
+ /**
65
+ * Callback that is called when the user presses on the circle
66
+ */
67
+ onPress: PropTypes.func,
68
+ };
69
+
70
+ // const defaultProps = {
71
+ // strokeColor: '#000',
72
+ // strokeWidth: 1,
73
+ // };
74
+
75
+ class MFCircle extends React.Component {
76
+ constructor(props) {
77
+ super(props);
78
+ this._onPress = this._onPress.bind(this)
79
+ this._ref = this._ref.bind(this)
80
+ }
81
+
82
+ setCenter(center) {
83
+ this._runCommand("setCenter", [center])
84
+ }
85
+ setRadius(radius) {
86
+ this._runCommand("setRadius", [radius])
87
+ }
88
+ setFillColor(color) {
89
+ this._runCommand("setFillColor", [processColor(color)])
90
+ }
91
+ setStrokeColor(color) {
92
+ this._runCommand("setStrokeColor", [processColor(color)])
93
+ }
94
+ setStrokeWidth(width) {
95
+ this._runCommand("setStrokeWidth", [width])
96
+ }
97
+ setUserData(userData) {
98
+ this._runCommand("setUserData", [userData])
99
+ }
100
+ setZIndex(zIndex) {
101
+ this._runCommand("setZIndex", [zIndex])
102
+ }
103
+ setVisible(visible) {
104
+ this._runCommand("setVisible", [visible])
105
+ }
106
+
107
+ _getHandle() {
108
+ return findNodeHandle(this.circle);
109
+ }
110
+
111
+
112
+ _runCommand(name, args) {
113
+ switch (Platform.OS) {
114
+ case 'android':
115
+ NativeModules.UIManager.dispatchViewManagerCommand(
116
+ this._getHandle(),
117
+ this._uiManagerCommand(name),
118
+ args
119
+ );
120
+ break;
121
+
122
+ case 'ios':
123
+ this._mapManagerCommand(name)(this._getHandle(), ...args);
124
+ break;
125
+
126
+ default:
127
+ break;
128
+ }
129
+ }
130
+
131
+ _uiManagerCommand(name) {
132
+ const UIManager = NativeModules.UIManager;
133
+ const componentName = "RMFCircle";
134
+
135
+ if (!UIManager.getViewManagerConfig) {
136
+ // RN < 0.58
137
+ return UIManager[componentName].Commands[name];
138
+ }
139
+
140
+ // RN >= 0.58
141
+ return UIManager.getViewManagerConfig(componentName).Commands[name];
142
+ }
143
+
144
+ _mapManagerCommand(name) {
145
+ return NativeModules[`RMFCircle`][name];
146
+ }
147
+
148
+ _onPress(event) {
149
+ event.stopPropagation();
150
+ if (this.props.onPress) {
151
+ this.props.onPress(event);
152
+ }
153
+ }
154
+
155
+ _ref(ref) {
156
+ this.circle = ref;
157
+ }
158
+
159
+ render() {
160
+ return <RMFCircle
161
+ {...this.props}
162
+ ref={this._ref}
163
+ onPress={this._onPress}
164
+ />;
165
+ }
166
+ }
167
+
168
+ MFCircle.propTypes = propTypes;
169
+ // MFCircle.defaultProps = defaultProps;
170
+
171
+ var RMFCircle = requireNativeComponent(`RMFCircle`, MFCircle);
172
+
173
+ export {MFCircle}
@@ -0,0 +1,237 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import {ViewPropTypes, ColorPropType} from 'deprecated-react-native-prop-types';
4
+ import {
5
+ requireNativeComponent,
6
+ Platform,
7
+ Image,
8
+ NativeModules,
9
+ findNodeHandle,
10
+ processColor
11
+ } from 'react-native';
12
+
13
+ const viewPropTypes = ViewPropTypes || View.propTypes;
14
+
15
+ const propTypes = {
16
+ ...viewPropTypes,
17
+
18
+ /**
19
+ * The directions to display on the map,
20
+ * retrieved as an array of array of coordinates to describe the routes.
21
+ * Similar to directions prop but has higher priority
22
+ */
23
+ routes: PropTypes.arrayOf(
24
+ PropTypes.arrayOf(
25
+ PropTypes.shape({
26
+ latitude: PropTypes.number.isRequired,
27
+ longitude: PropTypes.number.isRequired,
28
+ })
29
+ )
30
+ ),
31
+
32
+ /**
33
+ * The directions to display on the map,
34
+ * retrieved as a json string from Get route Map4D API (/sdk/route).
35
+ * Similar to routes prop but with lower priority
36
+ */
37
+ directions: PropTypes.string,
38
+
39
+ /**
40
+ * The index of the main route, default value is 0.
41
+ */
42
+ activedIndex: PropTypes.number,
43
+
44
+ /**
45
+ * The active route stroke width.
46
+ */
47
+ activeStrokeWidth: PropTypes.number,
48
+
49
+ /**
50
+ * The active route color.
51
+ */
52
+ activeStrokeColor: ColorPropType,
53
+
54
+ /**
55
+ * The active route outline stroke width.
56
+ */
57
+ activeOutlineWidth: PropTypes.number,
58
+
59
+ /**
60
+ * The active route outline color.
61
+ */
62
+ activeOutlineColor: ColorPropType,
63
+
64
+ /**
65
+ * The inactive route stroke width.
66
+ */
67
+ inactiveStrokeWidth: PropTypes.number,
68
+
69
+ /**
70
+ * The inactive route color.
71
+ */
72
+ inactiveStrokeColor: ColorPropType,
73
+
74
+ /**
75
+ * The inactive route outline stroke width.
76
+ */
77
+ inactiveOutlineWidth: PropTypes.number,
78
+
79
+ /**
80
+ * The inactive route outline color.
81
+ */
82
+ inactiveOutlineColor: ColorPropType,
83
+
84
+ /**
85
+ * The options of the origin POI.
86
+ */
87
+ originPOIOptions: PropTypes.shape({
88
+ coordinate: PropTypes.shape({
89
+ latitude: PropTypes.number.isRequired,
90
+ longitude: PropTypes.number.isRequired,
91
+ }),
92
+
93
+ icon: PropTypes.shape({
94
+ uri: PropTypes.any.isRequired
95
+ }),
96
+
97
+ title: PropTypes.string,
98
+
99
+ titleColor: ColorPropType,
100
+
101
+ visible: PropTypes.bool,
102
+ }),
103
+
104
+ /**
105
+ * The options of the destination POI.
106
+ */
107
+ destinationPOIOptions: PropTypes.shape({
108
+ coordinate: PropTypes.shape({
109
+ latitude: PropTypes.number.isRequired,
110
+ longitude: PropTypes.number.isRequired,
111
+ }),
112
+
113
+ icon: PropTypes.shape({
114
+ uri: PropTypes.any.isRequired
115
+ }),
116
+
117
+ title: PropTypes.string,
118
+
119
+ titleColor: ColorPropType,
120
+
121
+ visible: PropTypes.bool,
122
+ }),
123
+
124
+ /**
125
+ * Callback that is called when the user presses on the routes.
126
+ */
127
+ onPress: PropTypes.func,
128
+ };
129
+
130
+ class MFDirectionsRenderer extends React.Component {
131
+ constructor(props) {
132
+ super(props)
133
+ this._ref = this._ref.bind(this)
134
+ this._onPress = this._onPress.bind(this)
135
+ }
136
+
137
+ setActivedIndex(index) {
138
+ this._runCommand("setActivedIndex", [index])
139
+ }
140
+
141
+ setRoutes(routes) {
142
+ this._runCommand("setRoutes", [routes])
143
+ }
144
+
145
+ setDirections(directions) {
146
+ this._runCommand("setDirections", [directions])
147
+ }
148
+
149
+ render() {
150
+ let originPOIOptions = this.props.originPOIOptions
151
+ if (originPOIOptions) {
152
+ if (originPOIOptions.titleColor) {
153
+ originPOIOptions.titleColor = processColor(originPOIOptions.titleColor)
154
+ }
155
+ if (originPOIOptions.icon) {
156
+ let uri = Image.resolveAssetSource(originPOIOptions.icon.uri) || {uri: originPOIOptions.icon.uri};
157
+ originPOIOptions.icon = {uri: uri.uri}
158
+ }
159
+ }
160
+
161
+ let destinationPOIOptions = this.props.destinationPOIOptions
162
+ if (destinationPOIOptions) {
163
+ if (destinationPOIOptions.titleColor) {
164
+ destinationPOIOptions.titleColor = processColor(destinationPOIOptions.titleColor)
165
+ }
166
+ if (destinationPOIOptions.icon) {
167
+ let uri = Image.resolveAssetSource(destinationPOIOptions.icon.uri) || {uri: destinationPOIOptions.icon.uri};
168
+ destinationPOIOptions.icon = {uri: uri.uri}
169
+ }
170
+ }
171
+
172
+ return <RMFDirectionsRenderer
173
+ {...this.props}
174
+ originPOIOptions={originPOIOptions}
175
+ destinationPOIOptions={destinationPOIOptions}
176
+ ref={this._ref}
177
+ onPress={this._onPress}
178
+ />;
179
+ }
180
+
181
+ _ref(ref) {
182
+ this.renderer = ref;
183
+ }
184
+
185
+ _onPress(event) {
186
+ event.stopPropagation();
187
+ if (this.props.onPress) {
188
+ this.props.onPress(event);
189
+ }
190
+ }
191
+
192
+ _runCommand(name, args) {
193
+ switch (Platform.OS) {
194
+ case 'android':
195
+ NativeModules.UIManager.dispatchViewManagerCommand(
196
+ this._getHandle(),
197
+ this._uiManagerCommand(name),
198
+ args
199
+ );
200
+ break;
201
+
202
+ case 'ios':
203
+ this._mapManagerCommand(name)(this._getHandle(), ...args);
204
+ break;
205
+
206
+ default:
207
+ break;
208
+ }
209
+ }
210
+
211
+ _getHandle() {
212
+ return findNodeHandle(this.renderer);
213
+ }
214
+
215
+ _uiManagerCommand(name) {
216
+ const UIManager = NativeModules.UIManager;
217
+ const componentName = "RMFDirectionsRenderer";
218
+
219
+ if (!UIManager.getViewManagerConfig) {
220
+ // RN < 0.58
221
+ return UIManager[componentName].Commands[name];
222
+ }
223
+
224
+ // RN >= 0.58
225
+ return UIManager.getViewManagerConfig(componentName).Commands[name];
226
+ }
227
+
228
+ _mapManagerCommand(name) {
229
+ return NativeModules[`RMFDirectionsRenderer`][name];
230
+ }
231
+ }
232
+
233
+ MFDirectionsRenderer.propTypes = propTypes;
234
+
235
+ var RMFDirectionsRenderer = requireNativeComponent(`RMFDirectionsRenderer`, MFDirectionsRenderer);
236
+
237
+ export { MFDirectionsRenderer }