react-native-map4d-map-dtqg 0.1.0 → 0.1.2

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 (210) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +133 -41
  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/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  9. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  10. package/android/.gradle/vcs-1/gc.properties +0 -0
  11. package/android/build.gradle +60 -60
  12. package/android/src/main/AndroidManifest.xml +4 -4
  13. package/android/src/main/java/com/reactnativemap4dmap/ImageUtils.java +87 -87
  14. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapModule.java +298 -298
  15. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapPackage.java +35 -35
  16. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapViewManager.java +31 -31
  17. package/android/src/main/java/com/reactnativemap4dmap/RMFBuilding.java +167 -167
  18. package/android/src/main/java/com/reactnativemap4dmap/RMFBuildingManager.java +121 -121
  19. package/android/src/main/java/com/reactnativemap4dmap/RMFCircle.java +105 -105
  20. package/android/src/main/java/com/reactnativemap4dmap/RMFCircleManager.java +121 -121
  21. package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRenderer.java +502 -502
  22. package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRendererManager.java +143 -143
  23. package/android/src/main/java/com/reactnativemap4dmap/RMFFeature.java +17 -17
  24. package/android/src/main/java/com/reactnativemap4dmap/RMFMapView.java +1172 -1172
  25. package/android/src/main/java/com/reactnativemap4dmap/RMFMapViewManager.java +231 -226
  26. package/android/src/main/java/com/reactnativemap4dmap/RMFMarker.java +412 -412
  27. package/android/src/main/java/com/reactnativemap4dmap/RMFMarkerManager.java +211 -211
  28. package/android/src/main/java/com/reactnativemap4dmap/RMFPOI.java +222 -222
  29. package/android/src/main/java/com/reactnativemap4dmap/RMFPOIManager.java +119 -119
  30. package/android/src/main/java/com/reactnativemap4dmap/RMFPolygon.java +172 -172
  31. package/android/src/main/java/com/reactnativemap4dmap/RMFPolygonManager.java +147 -147
  32. package/android/src/main/java/com/reactnativemap4dmap/RMFPolyline.java +146 -146
  33. package/android/src/main/java/com/reactnativemap4dmap/RMFPolylineManager.java +137 -137
  34. package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlay.java +95 -95
  35. package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlayManager.java +64 -64
  36. package/android/src/main/java/com/reactnativemap4dmap/SizeReportingShadowNode.java +31 -31
  37. package/android/src/main/java/com/reactnativemap4dmap/ViewAttacherGroup.java +31 -31
  38. package/android/src/main/java/com/reactnativemap4dmap/ViewChangesTracker.java +70 -70
  39. package/android/src/main/java/vn/map4d/map/annotations/RMFBitmapDescriptor.java +9 -9
  40. package/ios/Map4dMap.h +7 -7
  41. package/ios/Map4dMap.m +14 -14
  42. package/ios/Map4dMapViewManager.m +34 -34
  43. package/ios/RCTConvert+Map4dMap.h +33 -33
  44. package/ios/RCTConvert+Map4dMap.m +112 -112
  45. package/ios/RMFCircle.h +37 -37
  46. package/ios/RMFCircle.m +100 -100
  47. package/ios/RMFCircleManager.h +18 -18
  48. package/ios/RMFCircleManager.m +155 -155
  49. package/ios/RMFCircleMap4d.h +23 -23
  50. package/ios/RMFCircleMap4d.m +13 -13
  51. package/ios/RMFCoordinate.h +22 -22
  52. package/ios/RMFCoordinate.m +13 -13
  53. package/ios/RMFDirectionsMarkerOptions.h +24 -24
  54. package/ios/RMFDirectionsMarkerOptions.m +23 -23
  55. package/ios/RMFDirectionsRenderer.h +47 -47
  56. package/ios/RMFDirectionsRenderer.m +182 -182
  57. package/ios/RMFDirectionsRendererManager.h +17 -17
  58. package/ios/RMFDirectionsRendererManager.m +84 -84
  59. package/ios/RMFDirectionsRendererMap4d.h +21 -21
  60. package/ios/RMFDirectionsRendererMap4d.m +12 -12
  61. package/ios/RMFDummyView.h +6 -6
  62. package/ios/RMFDummyView.m +12 -12
  63. package/ios/RMFEventResponse.h +39 -39
  64. package/ios/RMFEventResponse.m +98 -98
  65. package/ios/RMFIcon.h +24 -24
  66. package/ios/RMFIcon.m +35 -35
  67. package/ios/RMFMapView.h +84 -84
  68. package/ios/RMFMapView.m +376 -376
  69. package/ios/RMFMapViewManager.h +17 -17
  70. package/ios/RMFMapViewManager.m +508 -493
  71. package/ios/RMFMarker.h +57 -57
  72. package/ios/RMFMarker.m +267 -267
  73. package/ios/RMFMarkerManager.h +17 -17
  74. package/ios/RMFMarkerManager.m +156 -156
  75. package/ios/RMFMarkerMap4d.h +19 -19
  76. package/ios/RMFMarkerMap4d.m +13 -13
  77. package/ios/RMFPOI.h +38 -38
  78. package/ios/RMFPOI.m +123 -123
  79. package/ios/RMFPOIManager.h +18 -18
  80. package/ios/RMFPOIManager.m +168 -168
  81. package/ios/RMFPOIMap4d.h +22 -22
  82. package/ios/RMFPOIMap4d.m +12 -12
  83. package/ios/RMFPolygon.h +41 -41
  84. package/ios/RMFPolygon.m +106 -106
  85. package/ios/RMFPolygonManager.h +18 -18
  86. package/ios/RMFPolygonManager.m +141 -141
  87. package/ios/RMFPolygonMap4d.h +23 -23
  88. package/ios/RMFPolygonMap4d.m +15 -15
  89. package/ios/RMFPolyline.h +38 -38
  90. package/ios/RMFPolyline.m +101 -101
  91. package/ios/RMFPolylineManager.h +18 -18
  92. package/ios/RMFPolylineManager.m +139 -139
  93. package/ios/RMFPolylineMap4d.h +22 -22
  94. package/ios/RMFPolylineMap4d.m +15 -15
  95. package/ios/building/RMFBuilding.h +41 -41
  96. package/ios/building/RMFBuilding.m +104 -104
  97. package/ios/building/RMFBuildingManager.h +19 -19
  98. package/ios/building/RMFBuildingManager.m +133 -133
  99. package/ios/building/RMFBuildingMap4d.h +23 -23
  100. package/ios/building/RMFBuildingMap4d.m +15 -15
  101. package/ios/overlays/RMFTileOverlay.h +36 -36
  102. package/ios/overlays/RMFTileOverlay.m +64 -64
  103. package/ios/overlays/RMFTileOverlayManager.h +17 -17
  104. package/ios/overlays/RMFTileOverlayManager.m +27 -27
  105. package/lib/commonjs/components/MFBanDoSo.js +109 -0
  106. package/lib/commonjs/components/MFBanDoSo.js.map +1 -0
  107. package/lib/commonjs/components/MFBuilding.js +26 -26
  108. package/lib/commonjs/components/MFBuilding.js.map +1 -1
  109. package/lib/commonjs/components/MFCircle.js +20 -20
  110. package/lib/commonjs/components/MFCircle.js.map +1 -1
  111. package/lib/commonjs/components/MFDirectionsRenderer.js +32 -32
  112. package/lib/commonjs/components/MFDirectionsRenderer.js.map +1 -1
  113. package/lib/commonjs/components/MFMapView.js +152 -71
  114. package/lib/commonjs/components/MFMapView.js.map +1 -1
  115. package/lib/commonjs/components/MFMarker.js +35 -35
  116. package/lib/commonjs/components/MFMarker.js.map +1 -1
  117. package/lib/commonjs/components/MFPOI.js +20 -20
  118. package/lib/commonjs/components/MFPOI.js.map +1 -1
  119. package/lib/commonjs/components/MFPolygon.js +22 -22
  120. package/lib/commonjs/components/MFPolygon.js.map +1 -1
  121. package/lib/commonjs/components/MFPolyline.js +18 -18
  122. package/lib/commonjs/components/MFPolyline.js.map +1 -1
  123. package/lib/commonjs/components/MFTileOverlay.js +9 -9
  124. package/lib/commonjs/components/MFTileOverlay.js.map +1 -1
  125. package/lib/commonjs/components/Map4dMapView.js.map +1 -1
  126. package/lib/commonjs/components/extends/AreaFocusManager.js +205 -0
  127. package/lib/commonjs/components/extends/AreaFocusManager.js.map +1 -0
  128. package/lib/commonjs/components/extends/AreaFocuser.js +73 -0
  129. package/lib/commonjs/components/extends/AreaFocuser.js.map +1 -0
  130. package/lib/commonjs/components/extends/BoundHelper.js +36 -0
  131. package/lib/commonjs/components/extends/BoundHelper.js.map +1 -0
  132. package/lib/commonjs/components/extends/area/AreaFocusAreas.js +167 -0
  133. package/lib/commonjs/components/extends/area/AreaFocusAreas.js.map +1 -0
  134. package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js +164 -0
  135. package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js.map +1 -0
  136. package/lib/commonjs/components/extends/area/AreaFocusSession.js +100 -0
  137. package/lib/commonjs/components/extends/area/AreaFocusSession.js.map +1 -0
  138. package/lib/commonjs/components/extends/area/AreaFocusTypes.js +40 -0
  139. package/lib/commonjs/components/extends/area/AreaFocusTypes.js.map +1 -0
  140. package/lib/commonjs/components/internal/DefaultRoadmapStyle.js +2288 -0
  141. package/lib/commonjs/components/internal/DefaultRoadmapStyle.js.map +1 -0
  142. package/lib/commonjs/components/internal/GeojsonStyleUtils.js +139 -0
  143. package/lib/commonjs/components/internal/GeojsonStyleUtils.js.map +1 -0
  144. package/lib/commonjs/index.js +16 -0
  145. package/lib/commonjs/index.js.map +1 -1
  146. package/lib/module/components/MFBanDoSo.js +92 -0
  147. package/lib/module/components/MFBanDoSo.js.map +1 -0
  148. package/lib/module/components/MFBuilding.js +26 -26
  149. package/lib/module/components/MFBuilding.js.map +1 -1
  150. package/lib/module/components/MFCircle.js +20 -20
  151. package/lib/module/components/MFCircle.js.map +1 -1
  152. package/lib/module/components/MFDirectionsRenderer.js +32 -32
  153. package/lib/module/components/MFDirectionsRenderer.js.map +1 -1
  154. package/lib/module/components/MFMapView.js +149 -71
  155. package/lib/module/components/MFMapView.js.map +1 -1
  156. package/lib/module/components/MFMarker.js +35 -35
  157. package/lib/module/components/MFMarker.js.map +1 -1
  158. package/lib/module/components/MFPOI.js +20 -20
  159. package/lib/module/components/MFPOI.js.map +1 -1
  160. package/lib/module/components/MFPolygon.js +22 -22
  161. package/lib/module/components/MFPolygon.js.map +1 -1
  162. package/lib/module/components/MFPolyline.js +18 -18
  163. package/lib/module/components/MFPolyline.js.map +1 -1
  164. package/lib/module/components/MFTileOverlay.js +9 -9
  165. package/lib/module/components/MFTileOverlay.js.map +1 -1
  166. package/lib/module/components/Map4dMapView.js.map +1 -1
  167. package/lib/module/components/extends/AreaFocusManager.js +193 -0
  168. package/lib/module/components/extends/AreaFocusManager.js.map +1 -0
  169. package/lib/module/components/extends/AreaFocuser.js +64 -0
  170. package/lib/module/components/extends/AreaFocuser.js.map +1 -0
  171. package/lib/module/components/extends/BoundHelper.js +29 -0
  172. package/lib/module/components/extends/BoundHelper.js.map +1 -0
  173. package/lib/module/components/extends/area/AreaFocusAreas.js +156 -0
  174. package/lib/module/components/extends/area/AreaFocusAreas.js.map +1 -0
  175. package/lib/module/components/extends/area/AreaFocusGeometryUtils.js +153 -0
  176. package/lib/module/components/extends/area/AreaFocusGeometryUtils.js.map +1 -0
  177. package/lib/module/components/extends/area/AreaFocusSession.js +93 -0
  178. package/lib/module/components/extends/area/AreaFocusSession.js.map +1 -0
  179. package/lib/module/components/extends/area/AreaFocusTypes.js +33 -0
  180. package/lib/module/components/extends/area/AreaFocusTypes.js.map +1 -0
  181. package/lib/module/components/internal/DefaultRoadmapStyle.js +2281 -0
  182. package/lib/module/components/internal/DefaultRoadmapStyle.js.map +1 -0
  183. package/lib/module/components/internal/GeojsonStyleUtils.js +130 -0
  184. package/lib/module/components/internal/GeojsonStyleUtils.js.map +1 -0
  185. package/lib/module/index.js +3 -1
  186. package/lib/module/index.js.map +1 -1
  187. package/lib/typescript/components/Map4dMapView.d.ts +7 -7
  188. package/package.json +152 -152
  189. package/react-native-map4d-map.podspec +20 -20
  190. package/src/components/MFBanDoSo.js +124 -0
  191. package/src/components/MFBuilding.js +187 -187
  192. package/src/components/MFCircle.js +173 -173
  193. package/src/components/MFDirectionsRenderer.js +237 -237
  194. package/src/components/MFMapView.js +464 -373
  195. package/src/components/MFMarker.js +246 -246
  196. package/src/components/MFPOI.js +184 -184
  197. package/src/components/MFPolygon.js +186 -186
  198. package/src/components/MFPolyline.js +172 -172
  199. package/src/components/MFTileOverlay.js +45 -45
  200. package/src/components/Map4dMapView.tsx +26 -26
  201. package/src/components/extends/AreaFocusManager.js +196 -0
  202. package/src/components/extends/AreaFocuser.js +62 -0
  203. package/src/components/extends/BoundHelper.js +32 -0
  204. package/src/components/extends/area/AreaFocusAreas.js +164 -0
  205. package/src/components/extends/area/AreaFocusGeometryUtils.js +164 -0
  206. package/src/components/extends/area/AreaFocusSession.js +100 -0
  207. package/src/components/extends/area/AreaFocusTypes.js +36 -0
  208. package/src/components/internal/DefaultRoadmapStyle.js +3365 -0
  209. package/src/components/internal/GeojsonStyleUtils.js +143 -0
  210. package/src/index.js +25 -21
package/package.json CHANGED
@@ -1,152 +1,152 @@
1
- {
2
- "name": "react-native-map4d-map-dtqg",
3
- "version": "0.1.0",
4
- "description": "Map4dMap SDK for React Native",
5
- "main": "lib/commonjs/index",
6
- "module": "lib/module/index",
7
- "types": "lib/typescript/index.d.ts",
8
- "react-native": "src/index",
9
- "source": "src/index",
10
- "files": [
11
- "src",
12
- "lib",
13
- "android",
14
- "ios",
15
- "cpp",
16
- "react-native-map4d-map.podspec",
17
- "!lib/typescript/example",
18
- "!android/build",
19
- "!ios/build",
20
- "!**/__tests__",
21
- "!**/__fixtures__",
22
- "!**/__mocks__"
23
- ],
24
- "scripts": {
25
- "test": "jest",
26
- "typescript": "tsc --noEmit",
27
- "lint": "eslint \"**/*.{js,ts,tsx}\"",
28
- "prepare": "bob build",
29
- "release": "release-it",
30
- "example": "yarn --cwd example",
31
- "pods": "cd example && pod-install --quiet",
32
- "bootstrap": "yarn example && yarn && yarn pods"
33
- },
34
- "keywords": [
35
- "react",
36
- "react-native",
37
- "react-component",
38
- "map",
39
- "mapview",
40
- "map4d",
41
- "iotlink"
42
- ],
43
- "repository": "https://github.com/map4d/map4d-map-react-native",
44
- "author": "IOTLink <admin@iotlink.com.vn> (https://iotlink.com.vn/)",
45
- "license": "MIT",
46
- "bugs": {
47
- "url": "https://github.com/map4d/map4d-map-react-native/issues"
48
- },
49
- "homepage": "https://github.com/map4d/map4d-map-react-native#readme",
50
- "publishConfig": {
51
- "registry": "https://registry.npmjs.org/"
52
- },
53
- "devDependencies": {
54
- "@commitlint/config-conventional": "^11.0.0",
55
- "@react-native-community/eslint-config": "^2.0.0",
56
- "@release-it/conventional-changelog": "^2.0.0",
57
- "@types/jest": "^26.0.0",
58
- "@types/react": "^16.9.19",
59
- "@types/react-native": "0.62.13",
60
- "commitlint": "^11.0.0",
61
- "deprecated-react-native-prop-types": "^2.3.0",
62
- "eslint": "^7.2.0",
63
- "eslint-config-prettier": "^7.0.0",
64
- "eslint-plugin-prettier": "^3.1.3",
65
- "husky": "^6.0.0",
66
- "jest": "^26.0.1",
67
- "pod-install": "^0.1.0",
68
- "prettier": "^2.0.5",
69
- "react": "16.13.1",
70
- "react-native": "0.63.4",
71
- "react-native-builder-bob": "^0.18.2",
72
- "release-it": "^14.2.2",
73
- "typescript": "^4.1.3"
74
- },
75
- "peerDependencies": {
76
- "react": "*",
77
- "react-native": "*"
78
- },
79
- "jest": {
80
- "preset": "react-native",
81
- "modulePathIgnorePatterns": [
82
- "<rootDir>/example/node_modules",
83
- "<rootDir>/lib/"
84
- ]
85
- },
86
- "commitlint": {
87
- "extends": [
88
- "@commitlint/config-conventional"
89
- ]
90
- },
91
- "release-it": {
92
- "git": {
93
- "commitMessage": "chore: release ${version}",
94
- "tagName": "v${version}"
95
- },
96
- "npm": {
97
- "publish": true
98
- },
99
- "github": {
100
- "release": true
101
- },
102
- "plugins": {
103
- "@release-it/conventional-changelog": {
104
- "preset": "angular"
105
- }
106
- }
107
- },
108
- "eslintConfig": {
109
- "root": true,
110
- "extends": [
111
- "@react-native-community",
112
- "prettier"
113
- ],
114
- "rules": {
115
- "prettier/prettier": [
116
- "error",
117
- {
118
- "quoteProps": "consistent",
119
- "singleQuote": true,
120
- "tabWidth": 2,
121
- "trailingComma": "es5",
122
- "useTabs": false
123
- }
124
- ]
125
- }
126
- },
127
- "eslintIgnore": [
128
- "node_modules/",
129
- "lib/"
130
- ],
131
- "prettier": {
132
- "quoteProps": "consistent",
133
- "singleQuote": true,
134
- "tabWidth": 2,
135
- "trailingComma": "es5",
136
- "useTabs": false
137
- },
138
- "react-native-builder-bob": {
139
- "source": "src",
140
- "output": "lib",
141
- "targets": [
142
- "commonjs",
143
- "module",
144
- [
145
- "typescript",
146
- {
147
- "project": "tsconfig.build.json"
148
- }
149
- ]
150
- ]
151
- }
152
- }
1
+ {
2
+ "name": "react-native-map4d-map-dtqg",
3
+ "version": "0.1.2",
4
+ "description": "Map4dMap SDK for React Native",
5
+ "main": "lib/commonjs/index",
6
+ "module": "lib/module/index",
7
+ "types": "lib/typescript/index.d.ts",
8
+ "react-native": "src/index",
9
+ "source": "src/index",
10
+ "files": [
11
+ "src",
12
+ "lib",
13
+ "android",
14
+ "ios",
15
+ "cpp",
16
+ "react-native-map4d-map.podspec",
17
+ "!lib/typescript/example",
18
+ "!android/build",
19
+ "!ios/build",
20
+ "!**/__tests__",
21
+ "!**/__fixtures__",
22
+ "!**/__mocks__"
23
+ ],
24
+ "scripts": {
25
+ "test": "jest",
26
+ "typescript": "tsc --noEmit",
27
+ "lint": "eslint \"**/*.{js,ts,tsx}\"",
28
+ "prepare": "bob build",
29
+ "release": "release-it",
30
+ "example": "yarn --cwd example",
31
+ "pods": "cd example && pod-install --quiet",
32
+ "bootstrap": "yarn example && yarn && yarn pods"
33
+ },
34
+ "keywords": [
35
+ "react",
36
+ "react-native",
37
+ "react-component",
38
+ "map",
39
+ "mapview",
40
+ "map4d",
41
+ "iotlink"
42
+ ],
43
+ "repository": "https://github.com/map4d/map4d-map-react-native",
44
+ "author": "IOTLink <admin@iotlink.com.vn> (https://iotlink.com.vn/)",
45
+ "license": "MIT",
46
+ "bugs": {
47
+ "url": "https://github.com/map4d/map4d-map-react-native/issues"
48
+ },
49
+ "homepage": "https://github.com/map4d/map4d-map-react-native#readme",
50
+ "publishConfig": {
51
+ "registry": "https://registry.npmjs.org/"
52
+ },
53
+ "devDependencies": {
54
+ "@commitlint/config-conventional": "^11.0.0",
55
+ "@react-native-community/eslint-config": "^2.0.0",
56
+ "@release-it/conventional-changelog": "^2.0.0",
57
+ "@types/jest": "^26.0.0",
58
+ "@types/react": "^16.9.19",
59
+ "@types/react-native": "0.62.13",
60
+ "commitlint": "^11.0.0",
61
+ "deprecated-react-native-prop-types": "^2.3.0",
62
+ "eslint": "^7.2.0",
63
+ "eslint-config-prettier": "^7.0.0",
64
+ "eslint-plugin-prettier": "^3.1.3",
65
+ "husky": "^6.0.0",
66
+ "jest": "^26.0.1",
67
+ "pod-install": "^0.1.0",
68
+ "prettier": "^2.0.5",
69
+ "react": "16.13.1",
70
+ "react-native": "0.63.4",
71
+ "react-native-builder-bob": "^0.18.2",
72
+ "release-it": "^14.2.2",
73
+ "typescript": "^4.1.3"
74
+ },
75
+ "peerDependencies": {
76
+ "react": "*",
77
+ "react-native": "*"
78
+ },
79
+ "jest": {
80
+ "preset": "react-native",
81
+ "modulePathIgnorePatterns": [
82
+ "<rootDir>/example/node_modules",
83
+ "<rootDir>/lib/"
84
+ ]
85
+ },
86
+ "commitlint": {
87
+ "extends": [
88
+ "@commitlint/config-conventional"
89
+ ]
90
+ },
91
+ "release-it": {
92
+ "git": {
93
+ "commitMessage": "chore: release ${version}",
94
+ "tagName": "v${version}"
95
+ },
96
+ "npm": {
97
+ "publish": true
98
+ },
99
+ "github": {
100
+ "release": true
101
+ },
102
+ "plugins": {
103
+ "@release-it/conventional-changelog": {
104
+ "preset": "angular"
105
+ }
106
+ }
107
+ },
108
+ "eslintConfig": {
109
+ "root": true,
110
+ "extends": [
111
+ "@react-native-community",
112
+ "prettier"
113
+ ],
114
+ "rules": {
115
+ "prettier/prettier": [
116
+ "error",
117
+ {
118
+ "quoteProps": "consistent",
119
+ "singleQuote": true,
120
+ "tabWidth": 2,
121
+ "trailingComma": "es5",
122
+ "useTabs": false
123
+ }
124
+ ]
125
+ }
126
+ },
127
+ "eslintIgnore": [
128
+ "node_modules/",
129
+ "lib/"
130
+ ],
131
+ "prettier": {
132
+ "quoteProps": "consistent",
133
+ "singleQuote": true,
134
+ "tabWidth": 2,
135
+ "trailingComma": "es5",
136
+ "useTabs": false
137
+ },
138
+ "react-native-builder-bob": {
139
+ "source": "src",
140
+ "output": "lib",
141
+ "targets": [
142
+ "commonjs",
143
+ "module",
144
+ [
145
+ "typescript",
146
+ {
147
+ "project": "tsconfig.build.json"
148
+ }
149
+ ]
150
+ ]
151
+ }
152
+ }
@@ -1,20 +1,20 @@
1
- require "json"
2
-
3
- package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
-
5
- Pod::Spec.new do |s|
6
- s.name = "react-native-map4d-map"
7
- s.version = package["version"]
8
- s.summary = package["description"]
9
- s.homepage = package["homepage"]
10
- s.license = package["license"]
11
- s.authors = package["author"]
12
-
13
- s.platforms = { :ios => "13.0" }
14
- s.source = { :git => "https://github.com/map4d/map4d-map-react-native.git", :tag => "#{s.version}" }
15
-
16
- s.source_files = "ios/**/*.{h,m,mm}"
17
-
18
- s.dependency "React-Core"
19
- s.dependency "Map4dMapDTQG", "~> 0.1"
20
- end
1
+ require "json"
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
+
5
+ Pod::Spec.new do |s|
6
+ s.name = "react-native-map4d-map"
7
+ s.version = package["version"]
8
+ s.summary = package["description"]
9
+ s.homepage = package["homepage"]
10
+ s.license = package["license"]
11
+ s.authors = package["author"]
12
+
13
+ s.platforms = { :ios => "13.0" }
14
+ s.source = { :git => "https://github.com/map4d/map4d-map-react-native.git", :tag => "#{s.version}" }
15
+
16
+ s.source_files = "ios/**/*.{h,m,mm}"
17
+
18
+ s.dependency "React-Core"
19
+ s.dependency "Map4dMapDTQG", "~> 0.1"
20
+ end
@@ -0,0 +1,124 @@
1
+ import PropTypes from 'prop-types';
2
+ import { MFMapView } from './MFMapView';
3
+ import {
4
+ buildGeojsonStyle,
5
+ createCategoryItemsSignature,
6
+ } from './internal/GeojsonStyleUtils';
7
+
8
+ const FilterStylePropType = PropTypes.shape({
9
+ kind: PropTypes.oneOfType([
10
+ PropTypes.string,
11
+ PropTypes.arrayOf(PropTypes.string),
12
+ ]),
13
+ kind_detail: PropTypes.oneOfType([
14
+ PropTypes.string,
15
+ PropTypes.arrayOf(PropTypes.string),
16
+ ]),
17
+ });
18
+
19
+ const DrawLinePropType = PropTypes.shape({
20
+ color: PropTypes.string,
21
+ width: PropTypes.oneOfType([PropTypes.number, PropTypes.array]),
22
+ });
23
+
24
+ const DrawFillPropType = PropTypes.shape({
25
+ color: PropTypes.string,
26
+ });
27
+
28
+ const DrawSymbolPropType = PropTypes.shape({
29
+ icon_image: PropTypes.string,
30
+ icon_index: PropTypes.number,
31
+ icon_color: PropTypes.string,
32
+ use_direct_icon_url: PropTypes.bool,
33
+ });
34
+
35
+ const CategoryStylePropType = PropTypes.shape({
36
+ line: PropTypes.arrayOf(
37
+ PropTypes.shape({
38
+ layer: PropTypes.string,
39
+ filter: FilterStylePropType,
40
+ draw: DrawLinePropType,
41
+ })
42
+ ),
43
+ fill: PropTypes.arrayOf(
44
+ PropTypes.shape({
45
+ layer: PropTypes.string,
46
+ filter: FilterStylePropType,
47
+ draw: DrawFillPropType,
48
+ })
49
+ ),
50
+ symbol: PropTypes.arrayOf(
51
+ PropTypes.shape({
52
+ layer: PropTypes.string,
53
+ filter: FilterStylePropType,
54
+ draw: DrawSymbolPropType,
55
+ })
56
+ ),
57
+ });
58
+
59
+ const CategoryItemPropType = PropTypes.shape({
60
+ key: PropTypes.string,
61
+ title: PropTypes.string,
62
+ group: PropTypes.string,
63
+ order: PropTypes.number,
64
+ checked: PropTypes.bool,
65
+ style: CategoryStylePropType,
66
+ });
67
+
68
+ class MFBanDoSo extends MFMapView {
69
+ constructor(props) {
70
+ super(props);
71
+ this._appliedGeojsonStyle = null;
72
+ }
73
+
74
+ componentDidMount() {
75
+ this._syncGeojsonStyle();
76
+ }
77
+
78
+ componentDidUpdate(prevProps, prevState) {
79
+ const mapReadyChanged = prevState.isReady !== this.state.isReady;
80
+ const mapStyleChanged = prevProps.mapStyle !== this.props.mapStyle;
81
+ const sourceUrlChanged = prevProps.sourceUrl !== this.props.sourceUrl;
82
+ const itemsChanged =
83
+ createCategoryItemsSignature(prevProps.items) !==
84
+ createCategoryItemsSignature(this.props.items);
85
+
86
+ if (
87
+ mapReadyChanged ||
88
+ mapStyleChanged ||
89
+ sourceUrlChanged ||
90
+ itemsChanged
91
+ ) {
92
+ this._syncGeojsonStyle();
93
+ }
94
+ }
95
+
96
+ _syncGeojsonStyle() {
97
+ if (!this.state.isReady) {
98
+ return;
99
+ }
100
+
101
+ const items = this.props.items || [];
102
+
103
+ const geojsonStyle = buildGeojsonStyle(
104
+ this.props.mapStyle,
105
+ this.props.sourceUrl,
106
+ items
107
+ );
108
+
109
+ if (!geojsonStyle || geojsonStyle === this._appliedGeojsonStyle) {
110
+ return;
111
+ }
112
+
113
+ this._appliedGeojsonStyle = geojsonStyle;
114
+ this._runCommand('setMapStyle', [geojsonStyle]);
115
+ }
116
+ }
117
+
118
+ MFBanDoSo.propTypes = {
119
+ ...MFMapView.propTypes,
120
+ items: PropTypes.arrayOf(CategoryItemPropType),
121
+ sourceUrl: PropTypes.string.isRequired,
122
+ };
123
+
124
+ export { MFBanDoSo };